如何通过API获取Firebase Analytics仪表盘中的聚合数据?
嘿,我来帮你搞定这个问题!你说的python-firebase确实只针对Firebase Realtime Database,没法直接获取Analytics的聚合数据。要拿到Firebase Analytics仪表盘里的那些统计数据,得用官方提供的专门工具,下面给你详细说两种靠谱的方式:
获取Firebase Analytics聚合数据的可行方案
1. 结合Firebase Admin SDK + Google Analytics Data API(Python)
Firebase Admin SDK本身不直接提供Analytics数据查询,但它能帮你完成身份验证,让你顺利调用Google Analytics Data API——毕竟Firebase Analytics底层就是基于Google Analytics 4(GA4)的,所以这个API完全能满足需求。
步骤&示例代码
首先安装依赖:
pip install firebase-admin google-analytics-data
然后写代码查询数据(比如获取近7天各国的活跃用户数):
from firebase_admin import initialize_app, credentials from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import RunReportRequest # 用Firebase服务账号密钥初始化Admin SDK cred = credentials.Certificate("你的服务账号密钥文件路径.json") initialize_app(cred) # 初始化GA4数据查询客户端 client = BetaAnalyticsDataClient() # 构建查询请求,替换成你的GA4属性ID(Firebase控制台Analytics设置里能找到) request = RunReportRequest( property=f"properties/{你的GA4属性ID}", date_ranges=[{"start_date": "7daysAgo", "end_date": "today"}], metrics=[{"name": "activeUsers"}], # 对应仪表盘的活跃用户指标 dimensions=[{"name": "country"}] # 按国家维度拆分数据 ) # 执行查询并输出结果 response = client.run_report(request) for row in response.rows: print(f"国家: {row.dimension_values[0].value}, 活跃用户数: {row.metric_values[0].value}")
2. 直接调用Google Analytics Data API v1
如果你不想依赖Firebase Admin SDK,也可以直接通过服务账号或OAuth2认证来调用这个API。它是Google官方专门用来查询GA4(包括Firebase Analytics)聚合报表的工具,支持自定义维度、指标组合,仪表盘上能看到的聚合数据(比如用户留存、事件转化、屏幕浏览量等)都能通过它获取到。
关键注意事项
- 先去Google Cloud控制台启用Google Analytics Data API,并给你的服务账号分配
Analytics Viewer或Analytics Editor权限 - Firebase项目对应的GA4属性ID,可在Firebase控制台的「Analytics」→「设置」中找到,也能在Google Analytics后台查看
- 仪表盘里的各类数据都能通过组合不同的指标和维度实现查询,你可以根据官方的指标/维度列表来调整请求参数
内容的提问来源于stack exchange,提问作者Yogesh
相关产品推荐
相关产品推荐

