Коды ошибок 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 не найдено Запрошенный ресурс не существует.
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.

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