能否通过API从程序(如Python)提取Firebase Authentication数据?
如何用Python提取Firebase Authentication数据
当然可以通过Firebase Admin SDK来提取这些数据,下面是具体实现步骤:
1. 安装依赖
先安装Firebase Admin SDK工具包:
pip install firebase-admin
2. 初始化Firebase Admin SDK
你需要先从Firebase控制台获取服务账号密钥:
- 打开Firebase控制台进入你的项目
- 点击左侧「设置」→「服务账号」
- 点击「生成新的私钥」,下载JSON格式的密钥文件
用以下代码完成SDK初始化:
import firebase_admin from firebase_admin import credentials from firebase_admin import auth import datetime # 替换成你的服务账号密钥文件路径 cred = credentials.Certificate("path/to/your/serviceAccountKey.json") firebase_admin.initialize_app(cred)
3. 提取目标用户数据
使用auth.list_users()方法获取全量用户列表,遍历后提取你需要的字段:
# 分页获取所有用户 page = auth.list_users() while page: for user in page.users: # 提取邮箱地址 email = user.email or "无绑定邮箱" # 提取登录提供商(比如google.com、password等) providers = [p.provider_id for p in user.provider_data] # 提取创建日期(转成可读格式) creation_timestamp = user.user_metadata.creation_timestamp creation_date = datetime.fromtimestamp(creation_timestamp / 1000).strftime('%Y-%m-%d %H:%M:%S') if creation_timestamp else "无记录" # 按需处理数据,这里以打印为例 print(f"邮箱: {email}, 登录提供商: {providers}, 创建日期: {creation_date}") # 处理分页,获取下一页用户 page = page.get_next_page()
补充说明
- 如果只需要单个用户的数据,可使用
auth.get_user(用户UID)或auth.get_user_by_email(邮箱地址)直接获取 provider_data包含用户所有关联的登录方式,每个条目里还能拿到对应提供商的用户ID等额外信息- 时间戳为毫秒级,需要除以1000转换为Python可识别的时间格式
内容的提问来源于stack exchange,提问作者user16793104
相关产品推荐
相关产品推荐

