调用Google Analytics API遇权限问题,求Firebase GA的DAU获取方案
解决Google Analytics Reporting API获取DAU的问题
一、找到正确的视图(View)ID
你用到的ids=ga:12345参数里的ID是Google Analytics(UA版)的视图ID,不是Firebase属性ID或账户ID,查找步骤如下:
- 登录Google Analytics(UA)后台,进入对应的数据视图
- 点击左下角「管理」按钮
- 在「视图」列下选择「视图设置」
- 页面顶部即可看到纯数字格式的「视图ID」,给它加上
ga:前缀就是参数值,比如ga:12345678
注意:如果你的Firebase项目关联的是Google Analytics 4(GA4),UA版视图可能不存在,此时不能用v3版Reporting API,需切换到GA4专属API。
二、解决403权限错误
出现insufficientPermissions错误的核心原因及解决方法:
- 你的OAuth2令牌对应的账号,没有该GA视图的「读取与分析」权限
- 修复步骤:登录GA后台,进入「管理」→「用户管理」,给目标账号添加对应视图的「读取与分析」权限
- 同时确保OAuth2令牌已授权
https://www.googleapis.com/auth/analytics.readonly权限范围
三、替代BigQuery的REST API方案
不想用BigQuery的话,可根据你的GA版本选择以下方案:
1. Google Analytics 4(GA4)方案(推荐,UA已停止数据收集)
使用Google Analytics Data API v1,这是GA4官方REST API,支持直接获取DAU数据,示例curl请求:
curl -X POST "https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport" \ -H "Authorization: Bearer {oauth2-token}" \ -H "Content-Type: application/json" \ -d '{ "dateRanges": [{"startDate": "2022-01-01", "endDate": "2022-01-31"}], "metrics": [{"name": "activeUsers"}] }'
其中GA4_PROPERTY_ID是你的GA4属性ID(格式为2XXXXXXXXX),可在GA4后台「管理」→「属性设置」中找到;activeUsers就是对应DAU的指标。
2. Universal Analytics(UA)方案
若仍在使用UA,可继续用Google Analytics Reporting API v3,但需注意:
- 使用正确的视图ID
- 确保账号权限合规
- DAU对应的指标是
ga:users(而非sessions,sessions是会话数,日维度下ga:users才是日活跃用户数),修正后的curl请求:
curl -X GET "https://www.googleapis.com/analytics/v3/data/ga?ids=ga:VIEW_ID&start-date=2022-01-01&end-date=2022-01-31&metrics=ga:users" \ -H "Authorization: Bearer {oauth2-token}"
另外,也可通过Firebase Admin SDK的Analytics模块调用获取活跃用户数据,它是对GA API的封装,使用更便捷。
内容的提问来源于stack exchange,提问作者Sohail Anwar
相关产品推荐
相关产品推荐

