如何使用Google Analytics Data获取统计数据及Firebase统计数据接入网站时「无法检测到项目ID」报错解决
解决Firebase+Google Analytics同步的项目ID检测错误 & 使用Analytics Data API获取数据
一、搞定「无法检测项目ID」的报错
这个错误核心是运行环境没配置好Google Cloud身份验证,或者脚本没明确指定关联的项目ID。按下面的步骤一步步来:
步骤1:创建并配置服务账号凭据
- 打开Google Cloud控制台,找到你绑定Firebase的那个项目(Firebase项目会对应一个Google Cloud项目,两者是关联的)。
- 进入「IAM与管理」→「服务账号」,新建一个服务账号,给它分配「Google Analytics查看者」权限。
- 为这个服务账号生成JSON格式的密钥文件,下载到本地。
- 设置环境变量指向这个密钥文件:
- Windows:
set GOOGLE_APPLICATION_CREDENTIALS="C:\你的密钥文件路径\keyfile.json" - macOS/Linux:
export GOOGLE_APPLICATION_CREDENTIALS="/你的密钥文件路径/keyfile.json"
- Windows:
步骤2:在脚本里明确指定项目ID
有些SDK即使有凭据,也需要你显式传入项目ID才能正常工作。比如用Python的Analytics Data SDK时,初始化客户端要加上项目ID参数:from google.analytics.data_v1beta import BetaAnalyticsDataClient client = BetaAnalyticsDataClient( project_id="你的Google Cloud项目ID" )项目ID可以在Firebase控制台的「项目设置」→「常规」里找到,或者直接去Google Cloud控制台的项目主页查看。
二、用Google Analytics Data API获取统计数据
以Python为例,给你一个基础的实现流程,其他语言的逻辑是相通的:
先安装SDK依赖
pip install google-analytics-data编写查询统计数据的代码
下面的示例会获取指定日期范围内的页面路径和对应的浏览量:from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, RunReportRequest, ) def fetch_analytics_data(property_id): # 初始化客户端(如果已经配置了环境变量,这里不用额外传凭据) client = BetaAnalyticsDataClient() # 构建查询请求 request = RunReportRequest( property=f"properties/{property_id}", date_ranges=[DateRange(start_date="2024-01-01", end_date="today")], dimensions=[Dimension(name="pagePath")], metrics=[Metric(name="screenPageViews")], ) response = client.run_report(request) # 处理并输出结果 print("页面路径 | 浏览量") print("-------------------") for row in response.rows: print(f"{row.dimension_values[0].value} | {row.metric_values[0].value}") # 替换成你的媒体资源ID fetch_analytics_data("你的Property ID")几个关键注意点
- 要把服务账号的邮箱添加到Google Analytics媒体资源的用户列表里,权限至少设置为「查看者」,不然会没有数据访问权限。
- 指标和维度要符合GA4的命名规范,比如
screenPageViews是GA4的页面浏览量指标,你可以在Google Analytics后台的「指标库」里查询所有可用的指标和维度。
内容的提问来源于stack exchange,提问作者NightNickname
相关产品推荐
相关产品推荐

