Если запрос к 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 |
Сервис недоступен | Сервис временно недоступен. Обычно это временная проблема. Рекомендуется повторить запрос с экспоненциальной выдержкой. Чтобы не превысить квоты на ошибки сервера, важно использовать экспоненциальную выдержку с ограничением на количество повторных попыток. |