Основные сведения о задачах отчета

Используя задачи отчета, вы можете запустить длительный асинхронный запрос для создания настраиваемого отчета на основе данных событий Google Analytics.

Ресурс задачи отчета, созданный в результате этого запроса, может использоваться для доступа к настроенным отчетам всеми пользователями, имеющими доступ для чтения к вашему ресурсу Google Analytics.

Персонализированный отчет будет доступен в течение 72 часов после его подготовки. По истечении этого периода соответствующий ресурс задачи отчета и его содержимое будут автоматически удалены.

Создать задачу отчета

API данных Google Analytics v1 использует асинхронный подход для создания задач отчета. Во-первых, для создания задачи отчета необходим запрос к методу reportTasks.create . Затем метод reportTasks.query используется для получения созданного настраиваемого отчета.

Кроме того, вы можете использовать reportTasks.get для получения метаданных конфигурации конкретной задачи отчета и reportTasks.list для вывода списка всех задач отчета для свойства.

Выберите отчитывающуюся организацию

Для всех методов API данных версии 1 требуется, чтобы идентификатор ресурса Google Analytics 4 был указан внутри пути запроса URL-адреса в форме properties/GA4_PROPERTY_ID , например:

  POST  https://analyticsdata.googleapis.com/v1alpha/properties/GA4_PROPERTY_ID/reportTasks

Отчет создается на основе данных о событиях Google Analytics, собранных в указанном ресурсе Google Analytics 4.

Если вы используете одну из клиентских библиотек Data API , нет необходимости вручную манипулировать URL-путем запроса. Большинство клиентов API предоставляют параметр property , который ожидает строку в виде properties/GA4_PROPERTY_ID . См. Краткое руководство для примеров использования клиентских библиотек.

Запросить создание задачи отчета

Чтобы создать задачу отчета, вызовите метод reportTasks.create , используя объект ReportTask в запросе. Требуются следующие параметры:

  • Поле reportDefinition , которое описывает определение настроенного отчета. Структура этого параметра аналогична определению отчета, используемому методами Core Reporting .

Пример запроса на создание задачи отчета:

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