Google Analytics Python API“收到无效的 JSON 有效负载。‘report_requests[0]’中的未知名称‘segment’:找不到字段。”

时间:2021-03-18 14:17:09

标签: python google-analytics google-analytics-api

我遵循 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 时的 “收到的 JSON 负载无效。‘report_requests[0]’中的未知名称“segment”:找不到字段。”。详细信息:“[{'@type':'type.googleapis.com/google.rpc.BadRequest','fieldViolations':[{'field':'report_requests[0]','description':'收到无效的 JSON 负载. 'report_requests[0]' 中的未知名称“ga: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....

提前致谢!

1 个答案:

答案 0 :(得分:1)

试试

 "segments":[
    {
      "segmentId": "gaid::aqYF4QvFTX6JhLKfs0R84A"
    }]

https://developers.google.com/analytics/devguides/reporting/core/v4/samples#segments