Python调用Google Analytics Admin API报错UnknownApiNameOrVersion
解决Google Analytics Admin API v1beta的UnknownApiNameOrVersion错误
问题分析
出现UnknownApiNameOrVersion: name: analyticsadmin version: v1beta错误,通常由以下原因导致:
- 旧客户端库的API发现文档缓存过期,无法正确识别目标API版本
- 使用了已弃用的客户端库,不再支持
analyticsadminAPI的发现机制 - 权限范围配置错误(虽直接触发版本错误,但权限不匹配可能间接引发异常)
解决方案
1. 替换为官方推荐的客户端库
原代码中使用的apiclient和oauth2client已被Google弃用,替换为最新的认证与API客户端库:
pip install --upgrade google-api-python-client google-auth google-auth-httplib2
修改后的初始化代码:
from google.oauth2 import service_account from googleapiclient.discovery import build # 创建媒体资源需要edit权限,而非readonly SCOPES = ['https://www.googleapis.com/auth/analytics.edit'] KEY_FILE_LOCATION = 'client_secrets.json' def initialize_analyticsadmin(): """初始化Analytics Admin API v1beta服务对象""" credentials = service_account.Credentials.from_service_account_file( KEY_FILE_LOCATION, scopes=SCOPES) # 禁用缓存强制拉取最新API发现文档 analytics = build('analyticsadmin', 'v1beta', credentials=credentials, cache_discovery=False) return analytics
2. 清理旧API发现缓存(针对仍使用旧库的场景)
若暂时无法升级库,删除本地缓存的API发现文档,强制重新获取:
- 缓存目录路径:
~/.cache/google-api-python-client/ - 删除该目录下所有文件后重新运行代码
3. 确认Analytics Admin API已启用
登录Google Cloud Console,检查目标项目的Analytics Admin API是否处于启用状态,若未启用则手动开启。
4. 验证服务账号权限
确保服务账号已被添加到Google Analytics账号中,且分配了媒体资源管理者或更高权限,避免后续操作出现权限异常。
内容的提问来源于stack exchange,提问作者Prajwal Nayaka
相关产品推荐
相关产品推荐

