Google Analytics API认证报错:无法从oauth2client导入util
Google Analytics API 认证替代方案(解决oauth2client报错问题)
oauth2client早就被Google弃用了,新环境里它和其他依赖库不兼容,所以才会出现ImportError: cannot import name 'util' from 'oauth2client'这类错误。直接换用Google官方推荐的新认证库即可,步骤如下:
1. 替换依赖库
先卸载旧的oauth2client,再安装新的官方认证工具:
pip uninstall oauth2client -y pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
2. 服务账号认证的替代代码
和你原来用ServiceAccountCredentials的场景对应,新代码写法如下(以Google Analytics Reporting API为例):
from google.oauth2 import service_account from googleapiclient.discovery import build # 定义API权限范围,按需调整 SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'] # 替换成你的服务账号密钥文件路径 KEY_FILE = '/path/to/your/service-account-key.json' # 创建认证凭证 credentials = service_account.Credentials.from_service_account_file( KEY_FILE, scopes=SCOPES) # 构建API服务实例 analytics = build('analyticsreporting', 'v4', credentials=credentials)
额外说明
- 如果是用GA4(Google Analytics 4),要把
build的参数改成'analyticsdata', 'v1',对应GA4的Data API。 - 记得给你的服务账号在Google Analytics后台配置好对应权限(比如只读权限),不然会出现权限错误。
内容的提问来源于stack exchange,提问作者Jonathon Speed
相关产品推荐
相关产品推荐

