С помощью задач создания отчетов вы можете запустить длительный асинхронный запрос для создания настраиваемого отчета по данным о событиях в Google Analytics.
Ресурс «Задача отчета», созданный на основе этого запроса, может использоваться для доступа к настраиваемым отчетам всеми пользователями, имеющими права на чтение вашего ресурса Google Analytics.
Созданный на заказ отчет будет доступен в течение 72 часов после его подготовки. По истечении этого периода соответствующий ресурс задачи отчета и его содержимое будут автоматически удалены.
Создать задачу отчета
API данных Google Analytics версии 1 использует асинхронный подход для создания задач отчета. Сначала необходимо отправить запрос к методу reportTasks.create для создания задачи отчета. Затем используется метод reportTasks.query для получения сгенерированного пользовательского отчета.
Кроме того, вы можете использовать reportTasks.get для получения метаданных конфигурации конкретной задачи отчета и reportTasks.list для отображения всех задач отчета для свойства.
Выберите отчитывающуюся организацию
Для всех методов Data API v1 требуется указать идентификатор свойства Google Analytics в URL-адресе запроса в формате properties/GA_PROPERTY_ID , например:
POST https://analyticsdata.googleapis.com/v1alpha/properties/GA_PROPERTY_ID/reportTasks
Отчет формируется на основе данных о событиях Google Analytics, собранных в указанном ресурсе Google Analytics.
Если вы используете одну из клиентских библиотек Data API , нет необходимости вручную изменять путь URL-адреса запроса. Большинство API-клиентов предоставляют параметр property , который ожидает строку в формате properties/GA_PROPERTY_ID . Примеры использования клиентских библиотек см. в руководстве по быстрому запуску .
Запросить создание задачи отчета
Для создания задачи отчета вызовите метод reportTasks.create , используя объект ReportTask в запросе. Необходимы следующие параметры:
- Поле
reportDefinition, описывающее определение настраиваемого отчета. Структура этого параметра аналогична определению отчета, используемому основными методами отчетности .
Пример запроса на создание задачи отчета:
HTTP-запрос
POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks
{
"reportDefinition": {
"dateRanges": [{ "startDate": "2024-05-01"", "endDate": "2024-05-15" }],
"dimensions": [{ "name": "country" }],
"metrics": [{ "name": "activeUsers" }]
}
}
В ответе метода reportTasks.create в поле name содержится имя задачи отчета (например, properties/1234567/reportTasks/123 ), которое можно использовать в последующих запросах для получения статуса задачи отчета и получения результирующего отчета.
HTTP-ответ
{
"response": {
"@type": "type.googleapis.com/google.analytics.data.v1alpha.ReportTask",
"name": "properties/1234567/reportTasks/123",
"reportDefinition": {
"dimensions": [
{
"name": "country"
}
],
"metrics": [
{
"name": "activeUsers"
}
],
"dateRanges": [
{
"startDate": "2024-05-01",
"endDate": "2024-05-15"
}
]
},
"reportMetadata": {
"state": "CREATING",
"beginCreatingTime": "2024-05-16T00:00:01.133612336Z"
}
}
}
Получите состояние готовности задачи создания отчета.
После вызова метода reportTasks.create создание отчета может занять несколько минут. Состояние готовности задачи создания отчета можно получить, вызвав метод reportTasks.get .
Для указания задачи создания отчета используйте имя задачи (например, properties/1234567/reportTasks/123 ), полученное из ответа на запрос reportTasks.create .
Пример:
HTTP-запрос
GET https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123
Статус готовности задачи создания отчета отображается в поле state ответа. После завершения генерации отчета состояние задачи создания отчета меняется с CREATING на ACTIVE .
Поле reportMetadata содержит общую информацию о сгенерированном отчете, такую как количество строк и объем использованных квотных токенов.
HTTP-ответ
{
"reportDefinition": {
"dimensions": [
{
"name": "country"
}
],
"metrics": [
{
"name": "activeUsers"
}
],
"dateRanges": [
{
"startDate": "2024-05-01",
"endDate": "2024-05-15"
}
]
},
"reportMetadata": {
"state": "ACTIVE",
"beginCreatingTime": "2024-05-16T00:00:01.133612336Z",
"creationQuotaTokensCharged": 6,
"taskRowCount": 167,
"errorMessage": "",
"totalRowCount": 167
}
}
Состояние всех задач отчета можно получить, вызвав метод reportTasks.list .
Получите сгенерированный отчет.
После создания задачи отчета с помощью метода reportTasks.create вызовите метод reportTasks.query и укажите имя задачи отчета (например, properties/1234567/reportTasks/123 ).
HTTP-запрос
POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123:query
Если задача создания отчета готова, возвращается ответ, содержащий сгенерированный отчет:
HTTP-ответ
{
"dimensionHeaders": [
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
...
],
"rowCount": 167,
"metadata": {
"currencyCode": "USD",
"timeZone": "America/Los_Angeles"
}
}