【问题标题】:Google Analytics Python API "Invalid JSON payload received. Unknown name "segment" at 'report_requests[0]': Cannot find field."Google Analytics Python API“收到无效的 JSON 有效负载。‘report_requests[0]’处的未知名称‘段’:找不到字段。”
【发布时间】: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


    【解决方案1】:

    试试

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

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

    【讨论】:

    • 是的,就是这样。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2021-06-25
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多