Microsoft Graph API serviceNotAvailable ошибка при получении сайта по идентификатору - PullRequest
1 голос
/ 04 марта 2020

Я получаю ошибку API MSFT Graph HTTP 503 при попытке получить сайт Sharepoint, который был успешно создан Post с помощью API Graph.

Я использую подписку Developer O365.

Приложение Python использует библиотеку MSFT MSAL для управления токеном аутентификации. Я могу успешно вызывать другие части Graph API с помощью приложения python. При использовании Graph Explorer, вошедшего в мою учетную запись и с правами доступа к сайту, я получаю правильный успешный ответ. Приложение python работало в течение часа или двух после примерно 10-40 запросов, но теперь зависло по ошибке с serviceNotAvailable.

Разрешения приложения AD для клиента python:

  • Directory.ReadWrite.All
  • Group.Create
  • Group.ReadWrite.All
  • Sites.FullControl.All
  • Sites.Manage. Все
  • Sites.Read.All
  • Sites.ReadWrite.All
  • User.Read

Конечная точка, с которой я вызываю GET: https://graph.microsoft.com/v1.0/sites/mydomain, some-uuid

Заголовки ответа, которые я получаю:

{
'Cache-Control': 'private', 
'Content-Type': 'application/json', 
'request-id': 'ff8256de-f833-4916-85c2-2ee229a68135', 
'client-request-id': 'ff8256de-f833-4916-85c2-2ee229a68135', 
'x-ms-ags-diagnostic': '{
"ServerInfo":{
"DataCenter":"North Central US",
"Slice":"SliceC",
"Ring":"3",
"ScaleUnit":"002",
"RoleInstance":"AGSFE_IN_3"}}', 
'Strict-Transport-Security': 'max-age=31536000', 
'Date': 'Wed, 04 Mar 2020 17:47:03 GMT', 
'Content-Length': '306'
}

Тело ответа:

{
  "error": {
    "code": "serviceNotAvailable",
    "message": "The service is not available. Try the request again after a delay. There may be a Retry-After header.",
    "innerError": {
      "request-id": "ff8256de-f833-4916-85c2-2ee229a68135",
      "date": "2020-03-04T17:47:03"
    }
  }
}

I прочитайте в документах MSFT, что это ошибка регулирования для нарушения условий использования и что Graph Explorer не подвергается ограничениям регулирования. Я никогда не получаю заголовок «Retry-After».

Кто-нибудь знает, как заставить мой вызов API быть успешным? Как сбросить регулирование по MSFT? Я мог бы сделать 100-150 вызовов API Graph в час.

Ответы [ 2 ]

2 голосов
/ 06 марта 2020

У нас возникла эта проблема с несколькими клиентами Office365. Мы связались с Microsoft, и они сказали, что это ошибка со стороны сервера, которую они исправляют. Сейчас они устанавливают исправления для одного из наших клиентов. Это не регулируется, поскольку ошибка возникает при первом вызове API. К сожалению, вы ничего не можете с этим поделать, кроме как открыть билет в Microsoft. Кстати, этот звонок работал нормально уже более года. Ошибка начала появляться к концу февраля 2020 года.

0 голосов
/ 10 марта 2020

Моя проблема с доступом к любому ресурсу в API сайтов была вызвана одновременным предоставлением одновременно прав доступа Groups.Create и Groups.ReadWrite.All для доступа к типу приложения.

Удаление Groups.Create позволило все вызовы CRUD должны быть успешными без ошибок serviceNotAvailable, даже вызовы командной строки, которые просто обращаются к сайтам.

Обязательно обновите права администратора и свой токен, если вы измените разрешения для теста.

Пользователь @ user13034886 упомянул разрешение cla sh в другой пост .

...