我遵循了Cloud Firestore入门指南:
https://firebase.google.com/docs/firestore/quickstart
代码如下:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
cred = credentials.Certificate("PATH TO KEY")
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()}')
我试图将数据库规则设置为测试模式以进行读写访问 ,我创建了一个IAM用户并生成了一个密钥,但是似乎没有任何作用。
这是错误消息:
raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.PERMISSION_DENIED
details = "Missing or insufficient permissions."
debug_error_string = "{"created":"@1598292572.851377000","description":"Error received from peer ipv4,"file":"src/core/lib/surface/call.cc","file_line":1062,"grpc_message":"Missing or insufficient permissions.","grpc_status":7}
google.api_core.exceptions.PermissionDenied: 403 Missing or insufficient permissions.
谢谢。
答案 0 :(得分:0)
我通过从Firebase控制台生成服务帐户密钥来解决它:
Firebase控制台>项目设置。然后选择服务帐户,然后单击生成新私钥。这将产生一个.json文件,其中包含访问Firebase项目所需的凭据。
问题出在我的用户权限上,这里是参考:https://en.proft.me/2020/05/4/getting-started-firestore-using-python/
答案 1 :(得分:-1)
根据您提供的代码,未填写"PATH TO KEY"
。如果没有有效的生成凭证文件路径,则可能导致此错误。