Microsoft Graph API - сервис 503 недоступен - PullRequest
0 голосов
/ 02 июня 2018

Я работаю над интеграцией Microsoft Graph с веб-приложением Rails.Мы пытаемся отправить несколько сообщений электронной почты через Graph, но время от времени мы получаем 503 Service Unavailable со следующими заголовками и телом:

Заголовки ответа:

{
  "content-type": [
    "text/html; charset=us-ascii"
  ],
  "server": [
    "Microsoft-HTTPAPI/2.0"
  ],
  "date": [
    "Wed, 30 May 2018 22:05:31 GMT"
  ],
  "connection": [
    "close"
  ],
  "content-length": [
    326
  ]
}

Тело ответа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
    <TITLE>Service Unavailable</TITLE>
    <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">
</HEAD>
<BODY>
    <h2>Service Unavailable</h2>
    <hr>
    <p>HTTP Error 503. The service is unavailable.</p>
</BODY>
</HTML>

Мы используем вызов POST https://graph.microsoft.com/v1.0/me/sendMail для отправки сотен писем Outlook.После отправки примерно 100-200 писем с помощью Graph API мы получаем ошибку 503 Service Unavailable. Это проблематично, когда нам приходится отправлять 1000+ настроенных писем , поскольку мне неясно, как мы могли бы правильно обработать ошибку, не зная, как долго ждать перед повторной попыткой и другим запросом Graph API .

Мне интересно, сталкивался ли кто-нибудь с подобной проблемой раньше.Я читал о чем-то похожем по принципу регулирования клиента ( Microsoft Graph API - Throttling ), но в этом посте они получают 409 (с заголовком retry-after), а не 503.

Основываясь на документации Graph , мы должны получить объект JSON, который может содержать заголовок Retry-After.Однако, как показано выше, мы не получаем ни заголовок Retry-After, ни объект JSON для ошибки 503.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...