【问题标题】:Is there a way to use Google Firestore client in Python like in the Pyrebase library?有没有办法像 Pyrebase 库一样在 Python 中使用 Google Firestore 客户端?
【发布时间】:2022-01-10 21:07:48
【问题描述】:

我希望在 Python 中创建一个使用 Firestore 的客户端应用程序。
过去,我曾将 Pyrebase 用于 Python 编写的客户端应用程序。
根据我的阅读,Firestore 有一个官方的 python 客户端库。

但是,根据它的页面 (https://googleapis.dev/python/firestore/latest/index.html),它有一些我无法理解我应该如何满足的要求,而 Pyrebase 实时数据库不需要这些要求,例如:

  • 要求我使用 GOOGLE_APPLICATION_CREDENTIALS,我认为这意味着服务帐户凭据 json,我不能这样做,因为我无法在客户端应用程序中包含这些敏感凭据。
  • 然后,在同一页面的快速入门部分中,它提到我应该为我的项目启用计费,这在 Pyrebase 中不需要。

我还应该启用“Google Cloud Firestore API”。这是必需的,因为此 Firestore 是与 Firebase 的 Firestore 不同的服务吗?

总结一下: 如何创建不包含凭据 json 等敏感信息的 python 客户端应用程序, 并且仅使用 Pyrebase Config 字典中的某些内容(示例如下)。

import pyrebase

config = {
  "apiKey": "apiKey",
  "authDomain": "projectId.firebaseapp.com",
  "databaseURL": "https://databaseName.firebaseio.com",
  "storageBucket": "projectId.appspot.com"
}

firebase = pyrebase.initialize_app(config)

我完全迷失了,提前谢谢

【问题讨论】:

    标签: python firebase google-cloud-firestore


    【解决方案1】:

    Google 为 Firestore 提供的 Python SDK(以及 Firebase 包含在其 Admin SDK 中)依赖于一组凭据,为其提供对项目的完整管理访问权限。因此,它适用于受信任的环境,例如您的开发机器、您控制的服务器或 Cloud Functions/Cloud Run。

    Pyrebase 库通过其 REST API 作为不受信任的客户端访问 Firebase,因此可以在受信任和不受信任的环境中使用。

    没有用于从不受信任的客户端通过 Python 访问 Firestore 的官方 Firebase/Google SDK,因此您只能访问 Firestore 的 REST API(这也是 Pyrebase 对其支持的 API 所做的),或者查找另一个第三方库。

    【讨论】:

    • 好的,接下来就是restAPIs了!感谢您花时间向我解释这些事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多