【发布时间】:2021-03-18 22:24:31
【问题描述】:
我遵循 Google Analytics (GA) Hello Analytics tutorial 并使用 query explorer 通过 Python 调用 GA API,在我尝试在我的查询中包含一个细分之前,这非常有效。似乎查询资源管理器对段的使用(或我对如何使用它的理解)不正确。这是我的 get_report 函数:
def get_report(analytics, segment):
if segment == "all":
bdy = {
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '2021-01-19', 'endDate': 'yesterday'}],
'metrics': [{'expression': 'ga:uniqueEvents'}],
'dimensions': [{'name': 'ga:eventLabel'}]
}]
}
elif segment == "internal":
bdy = {
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '2021-01-19', 'endDate': 'yesterday'}],
'metrics': [{'expression': 'ga:uniqueEvents'}],
'dimensions': [{'name': 'ga:eventLabel'}],
"segment": "gaid::aqYF4QvFTX6JhLKfs0R84A"
}]
}
return analytics.reports().batchGet(body=bdy).execute()
第一个 if 块工作得很好,但是当我尝试运行第二个时,我得到了这个错误:
HttpError:
https://analyticsreporting.googleapis.com/v4/reports:batchGet?alt=json returned “收到无效的 JSON 有效负载。‘report_requests[0]’处的未知名称“段”:找不到字段。”。详细信息:“[{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'field': 'report_requests[0]', 'description': '收到无效的 JSON 有效负载. 'report_requests[0]' 中的未知名称“ga:segment”:找不到字段。'}]}]">
似乎第二个正文字典中的“segment”键不正确,但我找不到它应该是什么。有谁知道如何纠正这个问题?
如果这有帮助,这是查询浏览器建议我使用的:
"query": {
"start-date": "2021-01-19",
"end-date": "yesterday",
"ids": "ga:xxxxxxxx",
"dimensions": "ga:eventCategory,ga:eventLabel",
"metrics": [
"ga:uniqueEvents"
],
"segment": "gaid::aqYF4QvFTX6JhLKfs0R84A",
"start-index": 1,
"max-results": 1000
}
我认为查询浏览器可能使用 API 的 v3,而我使用的是 v4....
提前致谢!
【问题讨论】:
标签: python google-analytics google-analytics-api