问题描述
我目前正在使用 Pyrebase 包装器来获取所有用户的信息(例如他们的电子邮件和创建日期)。我尝试查看文档并将其交叉引用到 Pyrebase 文档,但是我似乎没有得到我正在寻找的内容。目前我已经尝试过这个:
import pyrebase
config={all required information,including path to service account .json file}
firebase=pyrebase.initialize_app(config)
db=firebase.database()
auth=firebase.auth()
extract_user = db.child('users').child('userId').get()
for x in extract_user.each():
print(x.val())
auth.get_account_info(user[x.val()])
然而我还是失败了,我知道我错过了一些东西,但我不确定是什么。
注意:我将用户 userID 保存在数据库中的 userId 下。因此,我遍历了要在“get_account_info”中使用的每个 ID
解决方法
您代码中的 db.child('users').child('userId').get()
从实时数据库中读取用户,只有在您的应用程序显式添加了那里时,这些用户才会存在。将用户添加到 Firebase 身份验证并不会自动将其添加到实时数据库中。
虽然 Pyrebase 允许您使用服务帐户对其进行初始化,但它不会复制 Firebase Admin SDK 的所有管理功能。据我在 Pyrebase's code 中看到的,Pyrebase 没有实现列出用户的方法。
考虑使用 Firebase Admin SDK,它具有内置的 API to list users。