Google api Google GA4 BatchRun在API不运行时报告';没有记录抛出500(内部服务器错误)

Google api Google GA4 BatchRun在API不运行时报告';没有记录抛出500(内部服务器错误),google-api,google-analytics-4,google-reporting-api,Google Api,Google Analytics 4,Google Reporting Api,请求: { "entity": { "propertyId": "XXXXXXXX" }, "requests": [ { "entity": { "propertyId": "XXXXXXXX" }, "dimensions": [

请求:

{
"entity": {
    "propertyId": "XXXXXXXX"
},
"requests": [
    {
        "entity": {
            "propertyId": "XXXXXXXX"
        },
        "dimensions": [
            {
                "name": "date"
            },
            {
                "name": "dateHour"
            },
            {
                "name": "firstUserCampaignName"
            }
        ],
        "metrics": [
            {
                "name": "sessions"
            }
        ],
        "dateRanges": [
            {
                "startDate": "2021-04-06",
                "endDate": "2021-04-07"
            }
        ],
        "metricAggregations": [
            "TOTAL"
        ],
        "dimensionFilter": {
            "andGroup": {
                "expressions": [
                    {
                        "filter": {
                            "fieldName": "medium",
                            "stringFilter": {
                                "matchType": "EXACT",
                                "value": "Test"
                            }
                        }
                    }
                ]
            }
        },
        "orderBys": [
            {
                "desc": true,
                "metric": {
                    "metricName": "sessions"
                }
            },
            {
                "desc": false,
                "dimension": {
                    "dimensionName": "dateHour"
                }
            }
        ],
        "keepEmptyRows": true
    }
]
{
"error": {
    "code": 500,
    "message": "Internal error encountered.",
    "status": "INTERNAL"
}
}

响应:

{
"entity": {
    "propertyId": "XXXXXXXX"
},
"requests": [
    {
        "entity": {
            "propertyId": "XXXXXXXX"
        },
        "dimensions": [
            {
                "name": "date"
            },
            {
                "name": "dateHour"
            },
            {
                "name": "firstUserCampaignName"
            }
        ],
        "metrics": [
            {
                "name": "sessions"
            }
        ],
        "dateRanges": [
            {
                "startDate": "2021-04-06",
                "endDate": "2021-04-07"
            }
        ],
        "metricAggregations": [
            "TOTAL"
        ],
        "dimensionFilter": {
            "andGroup": {
                "expressions": [
                    {
                        "filter": {
                            "fieldName": "medium",
                            "stringFilter": {
                                "matchType": "EXACT",
                                "value": "Test"
                            }
                        }
                    }
                ]
            }
        },
        "orderBys": [
            {
                "desc": true,
                "metric": {
                    "metricName": "sessions"
                }
            },
            {
                "desc": false,
                "dimension": {
                    "dimensionName": "dateHour"
                }
            }
        ],
        "keepEmptyRows": true
    }
]
{
"error": {
    "code": 500,
    "message": "Internal error encountered.",
    "status": "INTERNAL"
}
}

但如果从请求中删除以下属性:

 "metricAggregations": [
            "TOTAL"
        ],
在没有行的情况下,我可以看到以下响应:

{
"reports": [
    {
        "metricHeaders": [
            {
                "name": "sessions",
                "type": "TYPE_INTEGER"
            }
        ],
        "metadata": {},
        "dimensionHeaders": [
            {
                "name": "date"
            },
            {
                "name": "dateHour"
            },
            {
                "name": "firstUserCampaignName"
            }
        ],
        "kind": "analyticsData#runReport"
    }
],
"kind": "analyticsData#batchRunReports"
}

在这种情况下,您知道如何防止500内部服务器错误吗


此错误会阻止google API调用一个小时。

Furqan,数据API似乎存在问题,如果生成的报告为空,则使用
metricAggregations
的调用将失败。同时,为了解决此错误,您可以修改查询,使生成的报告包含0多行。

Furqan,数据API似乎存在问题,如果生成的报告为空,则使用
metricAggregations
的调用将失败。同时,要解决此错误,您可以修改查询,使生成的报告包含0行以上。

如果使用Alpha版本的api,您应该会收到500个错误。您是否可以共享任何引用链接@DaImToI?如果删除该链接,我想这是您的维度过滤器。我正在用try-me进行测试。您能否验证该测试是否作为介质的有效值存在。问题是您甚至没有请求介质。介质已经在处理其他值,但它在没有记录匹配时抛出错误@DaImToSo如果存在匹配项,它就可以工作,但是如果没有匹配项,你会得到500个?如果你使用Alpha版本的api,你应该会得到500个错误。你能分享任何参考链接@DaImToI吗?如果你删除它,我想这是你的维度过滤器。我正在用try-me进行测试。您能否验证该测试是否作为介质的有效值存在。问题是您甚至没有请求介质。介质已经在处理其他值,但它在没有记录匹配时抛出错误@DaImToSo若有匹配项,则有效,但若并没有匹配项,则得到500?不接受报告中不必要的数据。所以我无法更改查询。不接受报表中不必要的数据。所以我无法更改查询。