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

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