无法连接到Python中的firestore firebase



我创建了一个firebaseconfig。Json文件,包含我的apikey, authordomain, databaseurl, projected, storagebucket, messagingsendid, appid和measuentid。这是项目设置中yourapps部分的SDK设置和配置部分的标准设置。但是当我尝试运行我的python代码时。

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
import os

print(os.getcwd())
if not firebase_admin._apps:
cred = credentials.Certificate('src/firebaseconfig.json') 
default_app = firebase_admin.initialize_app(cred)
db = firestore.client()

users_ref = db.collection(u'users')
docs = users_ref.stream()
for doc in docs:
print(f'{doc.id} => {doc.to_dict()}')

我得到错误:ValueError:无效的服务帐户证书。证书必须包含"类型"。字段设置为"service_account"

Firebase Admin SDK需要一个服务帐户进行身份验证,而不是带有项目密钥的配置文件(主要用于web/iOS/Android客户端)。

如果您没有使用服务帐户,则需要通过Firebase控制台生成一个密钥文件以在应用程序中使用(设置->服务帐户->生成新的私钥)。

之后,您可以在代码中初始化firestore客户端,如下所示(相关文档):
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
# Use the json key generated from the Firebase console
cred = credentials.Certificate('path/to/serviceAccount.json')
firebase_admin.initialize_app(cred)
db = firestore.client()

请告诉我这些信息是否有用。

最新更新