403缺少权限或权限不足python firestore-client

时间:2020-08-23 19:32:53

标签: python google-cloud-firestore

我遵循了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.

谢谢。

2 个答案:

答案 0 :(得分:0)

我通过从Firebase控制台生成服务帐户密钥来解决它:

Firebase控制台>项目设置。然后选择服务帐户,然后单击生成新私钥。这将产生一个.json文件,其中包含访问Firebase项目所需的凭据。

问题出在我的用户权限上,这里是参考:https://en.proft.me/2020/05/4/getting-started-firestore-using-python/

答案 1 :(得分:-1)

根据您提供的代码,未填写"PATH TO KEY"。如果没有有效的生成凭证文件路径,则可能导致此错误。