You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:41:03