При успешном выполнении запроса к 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 содержит следующие поля:
| Поле | Описание |
|---|---|
| код | Код состояния HTTP, например, 400, 401, 403, 429 или 500. |
| сообщение | Краткое описание ошибки. |
| статус | Канонический код ошибки, например, 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 Analytics. |
| 429 | RESOURCE_EXHAUSTED | Квота превышена | Запрос был отклонен из-за превышения лимитов квот API. Дополнительную информацию см. в разделе «Лимиты и квоты API данных» . Возможно, вы превышаете лимиты для каждого проекта или объекта недвижимости. |
| 500 | INTERNAL | Внутренняя ошибка сервера | Произошла непредвиденная ошибка сервера. Обычно это временная проблема. Рекомендуется повторить запрос с экспоненциальной задержкой . Чтобы избежать превышения квот на ошибки сервера , важно реализовать экспоненциальную задержку с ограничением количества повторных попыток . |
| 503 | UNAVAILABLE | Сервис недоступен | Сервис временно недоступен. Обычно это временная проблема. Рекомендуется повторить запрос с экспоненциальной задержкой . Чтобы избежать превышения квот на ошибки сервера , важно реализовать экспоненциальную задержку с ограничением количества повторных попыток . |