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

为何Google Analytics Admin API忽略gcloud auth激活的服务账号配置?

问题分析与解决

这个问题的核心原因是gcloud激活服务账号时默认的权限范围(scope)不包含Analytics Admin API所需的权限,而通过GOOGLE_APPLICATION_CREDENTIALS环境变量加载凭证时,客户端库会自动为请求的API附加正确的scope。

解决办法

方法1:激活服务账号时指定所需scope

执行激活命令时,显式添加Analytics Admin API需要的scope,比如:

gcloud auth activate-service-account --key-file=mykey --scopes=https://www.googleapis.com/auth/analytics.edit,https://www.googleapis.com/auth/analytics.manage.users

如果只需要读取权限,可以替换为https://www.googleapis.com/auth/analytics.readonly。

方法2:在代码中手动指定scope

如果不想每次激活都加参数,可以在代码里加载gcloud的凭证并手动补充所需scope:

from google.auth import default
from google.analytics.admin_v1alpha import AnalyticsAdminServiceClient

# 加载gcloud默认凭证并指定需要的scope
credentials, _ = default(scopes=["https://www.googleapis.com/auth/analytics.edit"])
client = AnalyticsAdminServiceClient(credentials=credentials, transport=None)
res = client.list_access_bindings(parent=f"accounts/{account}")

其他API能正常工作,是因为它们所需的scope刚好在gcloud默认的权限集合里,而Analytics Admin API的特殊权限不在其中,所以才会单独出现这个问题。

内容的提问来源于stack exchange,提问作者red888

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:30:57