使用 Python 从 Firebase 身份验证中提取创建日期和上次登录

问题描述

目前,我的 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.creationTimeuser.madata.getLastSignInTimestamp,但它不适用于 python。我正在浏览有关此问题的 this 帖子。

解决方法

看起来 out[word].append(i + 1) ExportedUsers result 不包含用户的元数据。在这种情况下,您需要为结果中的每个 UID 调用 list_users 以获取完整的 UserRecord,然后在元数据中找到时间戳。

,

正确的语法是 user.metadata.creation_timestampuser.metadata.last_sign_in_timestamp。请参阅 API 参考:https://firebase.google.com/docs/reference/admin/python/firebase_admin.auth#firebase_admin.auth.UserMetadata

相关问答

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