我遵循 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 时的
似乎第二个正文字典中的“段”键不正确,但我找不到它应该是什么。有谁知道如何纠正这个问题?
如果这有帮助,这是查询资源管理器建议我使用的:
"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....
提前致谢!
答案 0 :(得分:1)
试试
"segments":[
{
"segmentId": "gaid::aqYF4QvFTX6JhLKfs0R84A"
}]
https://developers.google.com/analytics/devguides/reporting/core/v4/samples#segments