问题描述
目前,我的 python 代码使用 firebase admin SDK 从 firebase 身份验证中获取所有用户的用户 ID 和电子邮件,但是我找不到正确的语法来提取用户元数据,例如创建和上次登录日期/时间(根据文档,以毫秒为单位)。有一些文档显示了执行此操作的方法,但它对我不起作用。
我的代码:
from firebase_admin import credentials
from firebase_admin import auth
cred=credentials.Certificate('firebasesdk.json')
firebase_admin.initialize_app(cred,{
"databaseURL": "myurl",})
page = auth.list_users()
while page:
for user in page.users:
print('User email: ' + user.email)
print('User id: ' + user.uid)
我尝试使用 user.Metadata.creationTime
和 user.madata.getLastSignInTimestamp
,但它不适用于 python。我正在浏览有关此问题的 this 帖子。
解决方法
看起来 out[word].append(i + 1)
的 ExportedUsers
result 不包含用户的元数据。在这种情况下,您需要为结果中的每个 UID 调用 list_users
以获取完整的 UserRecord
,然后在元数据中找到时间戳。
正确的语法是 user.metadata.creation_timestamp
和 user.metadata.last_sign_in_timestamp
。请参阅 API 参考:https://firebase.google.com/docs/reference/admin/python/firebase_admin.auth#firebase_admin.auth.UserMetadata