谷歌分析(Google Analytics)API允许开发者以编程方式访问分析数据,主要包括指标(Metrics)和维度(Dimensions)两大核心概念:
原因:采样问题,当数据量过大时GA会采用抽样 解决:减小日期范围或使用过滤条件缩小数据集
原因:指标和维度组合无效 解决:检查GA文档确保指标和维度兼容
// 错误示例 - 不兼容的组合
{
"metrics": "ga:users",
"dimensions": "ga:pageviews" // 错误:pageviews是指标而非维度
}
// 正确示例
{
"metrics": "ga:users,ga:pageviews",
"dimensions": "ga:country,ga:browser"
}
原因:超出API请求配额 解决:优化请求频率,缓存数据,或申请配额提升
原因:OAuth令牌过期或无效 解决:重新获取认证令牌,检查服务账户权限
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
def get_ga_data(view_id, start_date, end_date):
# 设置认证
scopes = ['https://www.googleapis.com/auth/analytics.readonly']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'service_account.json', scopes)
# 构建服务对象
analytics = build('analyticsreporting', 'v4', credentials=credentials)
# 构建请求
request = {
'viewId': view_id,
'dateRanges': [{'startDate': start_date, 'endDate': end_date}],
'metrics': [{'expression': 'ga:sessions'}, {'expression': 'ga:pageviews'}],
'dimensions': [{'name': 'ga:country'}, {'name': 'ga:deviceCategory'}],
'pageSize': 10
}
# 发送请求
response = analytics.reports().batchGet(
body={'reportRequests': [request]}
).execute()
return response
# 使用示例
data = get_ga_data('12345678', '7daysAgo', 'today')
print(data)
通过合理使用GA API,开发者可以构建强大的数据分析解决方案,深入理解用户行为并优化业务决策。
没有搜到相关的文章