2

https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1alpha/TopLevel/batchRunReports

Request :

{
"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
    }
]

}

Response:

{
"error": {
    "code": 500,
    "message": "Internal error encountered.",
    "status": "INTERNAL"
}

}

But if remove following property from request:

 "metricAggregations": [
            "TOTAL"
        ],

I am able to see following response where there is not rows :

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

}

Any idea how to prevent 500 internal server error in this case ?

This error block google API call for an hour.

oguz ismail
  • 1
  • 16
  • 47
  • 69
Furqan Misarwala
  • 1,743
  • 6
  • 26
  • 53

1 Answers1

-1

Furqan, there seems to be an issue with the Data API where a call using metricAggregations is failing in case the generated report is empty. In the meantime, to workaround this error, you can modify a query so that the resulting report contains more than 0 rows.

Ilya Kuleshov
  • 526
  • 2
  • 3