Ответы при ошибках

Если запрос к API выполнен успешно, API возвращает код статуса 200 OK вместе с запрошенными данными в теле ответа. Если возникает ошибка, API возвращает один из канонических кодов ошибок, определенных API Google, сопоставленный с кодом статуса HTTP, и тело ответа, содержащее информацию об ошибке. Если вы столкнулись с ошибкой, проверьте поля message и status в теле ответа JSON, чтобы получить подробные сведения, которые помогут в отладке.

Формат ошибки

Если запрос приводит к ошибке, API возвращает соответствующий код статуса HTTP и тело ответа JSON. Ответ с ошибкой содержит объект error со следующей структурой:

{
  "error": {
    "code": 403,
    "message": "User does not have sufficient permissions for this property.",
    "status": "PERMISSION_DENIED"
  }
}

Объект error содержит следующие поля:

Поле Описание
code Код статуса HTTP, например 400, 401, 403, 429 или 500.
message краткое описание ошибки.
status Канонический код ошибки, например INVALID_ARGUMENT, UNAUTHENTICATED, PERMISSION_DENIED, RESOURCE_EXHAUSTED или INTERNAL.

Распространенные ошибки

В таблице ниже перечислены распространенные ошибки, возвращаемые API.

Код статуса HTTP Канонический код Причина Описание
400 INVALID_ARGUMENT Недопустимый запрос Запрос сформирован неправильно. Это может быть вызвано отсутствием или недействительностью параметров, например неправильным диапазоном дат или некорректным фильтром.
401 UNAUTHENTICATED Недействительные учетные данные В запросе нет действительных учетных данных для аутентификации целевого ресурса. Это может произойти, если токен доступа OAuth 2.0 отсутствует, недействителен или срок его действия истек. Чтобы получить действительный токен, следуйте инструкциям в статье Аутентификация с помощью OAuth 2.0.
403 PERMISSION_DENIED Нет необходимых разрешений У аутентифицированного пользователя нет доступа к запрашиваемому ресурсу Google Аналитики.
429 RESOURCE_EXHAUSTED Квота превышена Запрос был отклонен, поскольку достигнуты лимиты квоты API. Подробнее о лимитах и квотах Data API… Возможно, вы превысили лимиты для проекта или ресурса.
500 INTERNAL Внутренняя ошибка сервера Произошла непредвиденная ошибка сервера. Обычно это временная проблема. Рекомендуется повторить запрос с экспоненциальной выдержкой. Чтобы не превысить квоты на ошибки сервера, важно использовать экспоненциальную выдержку с ограничением на количество повторных попыток.
503 UNAVAILABLE Сервис недоступен Сервис временно недоступен. Обычно это временная проблема. Рекомендуется повторить запрос с экспоненциальной выдержкой. Чтобы не превысить квоты на ошибки сервера, важно использовать экспоненциальную выдержку с ограничением на количество повторных попыток.