列出 Firebase 身份验证中的所有用户

问题描述

我目前正在使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...