为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

智慧大石 2023-06-20 10:40:24
我遵循了 Cloud Firestore 入门指南:https://firebase.google.com/docs/firestore/quickstart这是代码:import firebase_adminfrom firebase_admin import credentialsfrom firebase_admin import firestorecred = 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.谢谢。
查看完整描述

3 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

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

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

查看完整回答
反对 回复 2023-06-20
?
四季花海

TA贡献1811条经验 获得超5个赞

确保您使用的服务帐户具有Cloud Datastore 用户角色 ( roles/datastore.user) - 不要介意名称Datastore,它是旧名称。

这样您就可以使用不是 Firebase 管理员默认的服务帐户(您可能希望对权限列表进行更精细的控制)


查看完整回答
反对 回复 2023-06-20
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

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



查看完整回答
反对 回复 2023-06-20
  • 3 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信