Используя задачи отчета, вы можете запустить длительный асинхронный запрос для создания настраиваемого отчета на основе данных событий Google Analytics.
Ресурс «Задача отчета», созданный в результате этого запроса, может использоваться для доступа к настроенным отчетам всеми пользователями, имеющими доступ для чтения к вашему ресурсу Google Analytics.
Персонализированный отчет будет доступен в течение 72 часов после его подготовки. По истечении этого периода соответствующий ресурс задачи отчета и его содержимое будут автоматически удалены.
Создать задачу отчета
API данных Google Analytics v1 использует асинхронный подход для создания задач отчета. Во-первых, для создания задачи отчета необходим запрос к методу 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
, которое описывает определение настроенного отчета. Структура этого параметра аналогична определению отчета, используемому методами 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"
}
}