猿问

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

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

谢谢。


智慧大石
浏览 149回答 3
3回答

qq_遁去的一_1

我通过从 firebase 控制台生成服务帐户密钥来解决它:Firebase 控制台 > 项目设置。然后选择服务帐户并单击生成新私钥。这将生成一个 .json 文件,其中包含访问 Firebase 项目所需的凭据。

四季花海

确保您使用的服务帐户具有Cloud Datastore 用户角色 (&nbsp;roles/datastore.user) - 不要介意名称Datastore,它是旧名称。这样您就可以使用不是 Firebase 管理员默认的服务帐户(您可能希望对权限列表进行更精细的控制)

肥皂起泡泡

根据您提供的代码,"PATH TO KEY"未填写。没有生成的凭据文件的有效路径可能会导致此错误。
随时随地看视频慕课网APP

相关分类

Python
我要回答