Поделиться через


Коды ошибок API службы запросов

Проверенный идентификатор Microsoft Entra включает REST API службы запросов, который позволяет выдавать и проверять учетные данные. В этой статье указаны коды ошибок для API службы запросов.

Объект error

Во время общедоступной предварительной версии API службы запросов вернул ошибки в следующем формате.

{
  "requestId": "4bb6726f77af7623ab52962323016442",
  "date": "Thu, 28 Apr 2022 14:30:54 GMT",
  "mscv": "17ppwf3uxR10MfRR.1",
  "error": {
    "code": "client_request.invalid_include_qr_code",
    "message": "The request contains `includeQRCode`, but it is not boolean."
  }
}

Теперь этот формат изменяется на следующий формат, чтобы упростить обработку ошибок и улучшить поддержку устранения неполадок. В новом формате внешние ошибки коде и полях сообщений имеют стандартизированные значения, а объект innererror предоставляет сведения о том, что вызвало ошибку.

{
  "requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
  "date": "Fri, 29 Apr 2022 11:20:19 GMT",
  "mscv": "QbBLwF7XAp0dt4Lw.1",
  "error": {
    "code": "badRequest",
    "message": "The request is invalid.",
    "innererror": {
      "code": "badOrMissingField",
      "message": "The request contains `includeQRCode`, but it is not boolean.",
      "target": "includeQRCode"
    }
  }
}
Свойство Тип Описание
requestId струна Идентификатор автогенерированного запроса.
date дата Время ошибки.
mscv струна Внутренний код Майкрософт.
error ошибка Внешний объект ошибки

Тип ошибки

Объект error теперь соответствует коду состояния HTTP, возвращенным из вызова API, чтобы упростить обработку ошибок для разработчиков.

Свойство Тип Описание
code струна Код ошибки возврата, соответствующий коду состояния HTTP.
message струна Стандартизированное сообщение об ошибке, которое также зависит от возвращаемого кода состояния HTTP.
innererror Innererror Укажите сведения о том, что вызвало ошибку.

Коды ошибок и сообщения

Ниже приведены возможные значения верхнего уровня code, которые сопоставляются с различными возвращаемыми кодами состояния HTTP.

Код состояния HTTP код Сообщение
400 badRequest Запрос недопустим.
401 несанкционированный Запрошенный ресурс требует проверки подлинности
403 запретный Отсутствующие разрешения для выполнения этого запроса.
404 notFound Запрошенный ресурс не существует.
405 methodNotAllowed Запрошенный метод не разрешен для запрошенного ресурса.
406 notAcceptable Запрошенный формат ответа не поддерживается.
408 requestTimeout Время ожидания запроса.
409 конфликт Сервер не может выполнить запрос из-за конфликта сервера.
410 потерянный Запрошенный ресурс больше недоступен.
411 contentLengthRequired Отсутствует заголовок Content-Length.
412 предусловие Не удалось выполнить предварительный условий для этого запроса.
413 полезные данныеTooLarge Полезные данные слишком большие.
414 uriTooLong URI слишком длинный.
415 unsupportedMediaType Указанный тип носителя не поддерживается.
416 rangeNotSatisfiable Запрошенный диапазон запрошенных данных не может быть удовлетворен.
417 ожиданиеFailed Ожидаемый заголовок не может быть удовлетворен.
421 неправильное направлениеRequest Не удалось создать ответ для этого запроса.
422 unprocessableEntity Запрос содержит семантические ошибки.
423 запертый Исходный или целевой ресурс заблокирован.
429 tooManyRequests Слишком много запросов, повторите попытку позже.
431 requestHeaderFieldsTooLarge Поле заголовка запроса слишком велико.
500 internalServerError На сервере произошла универсальная ошибка.
501 notImplemented Сервер не поддерживает запрошенную функцию.
502 badGateway неправильный ответ, полученный от другого шлюза.
503 serviceUnavailable Сервер временно недоступен, повторите попытку позже.
504 gatewayTimeout Время ожидания, полученное от другого шлюза.
507 недостаточного объема данных Не удалось сохранить данные для запроса.

Тип внутренней ошибки

Объект внутренней ошибки содержит сведения об ошибках, полезные для разработчика, чтобы изучить текущий сбой.

{
  "requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
  "date": "Fri, 29 Apr 2022 11:20:19 GMT",
  "mscv": "QbBLwF7XAp0dt4Lw.1",
  "error": {
    "code": "badRequest",
    "message": "The request is invalid.",
    "innererror": {
      "code": "badOrMissingField",
      "message": "The request contains `includeQRCode`, but it is not boolean.",
      "target": "includeQRCode"
    }
  }
}
Свойство Тип Описание
code струна Код внутренней ошибки. Содержит стандартизованный код на основе типа ошибки
message струна Внутреннее сообщение об ошибке. Содержит подробное сообщение об ошибке. В этом примере поле includeQRCode имеет неправильный тип.
target струна Необязательный. Целевой объект содержит поле в запросе, вызывающего эту ошибку. Это поле является необязательным и может не присутствовать в зависимости от типа ошибки.

Внутренние коды ошибок

Код Описание
badOrMissingField возвращается при возникновении проблем с проверкой запроса. Поле target содержит поле в запросе, вызывающее проблему.
notFound возвращается при запросе ресурса, запрашиваемого клиентом. Поле target содержит имя ресурса или идентификатор, который не найден.
tokenError Возвращается для любых проблем с проверкой для токенов, таких как веб-токен JSON (JWT) и подобные. Поле target содержит имя маркера, вызывающее проблему, если применимо.
transientError Возвращается для всех случаев, когда клиент может получить успешный ответ, если он повторите запрос на более позднем этапе. Распространенный пример возврата этого кода — при возврате кода HTTP 429

Дальнейшие действия