Я получаю сообщения из Office365 с помощью клиента Microsoft Graph API Java. Запросы охватывают целый год. Они ограничены 50 результатами на страницу и прогрессируют, используя возвращенный URL следующей страницы. Это делается периодически каждые 5 минут, но не более 2 минут на задание (которое повторяется по следующему URL).
Время от времени я получаю 503 Service Unavailable / 504 Gateway Timeout. Как только это происходит, запрос не может быть обработан и будет продолжать попадать в эти ошибки.
В соответствии с документацией Microsoft это должно рассматриваться как слишком большое количество запросов и откладываться с задержкой. В этом случае заголовок Retry-After отсутствует. Я заметил, что уменьшение временного интервала и перезапуск запроса иногда могут помочь. Также я видел, что это поднято на Stackoverflow, но без решений.
Мне интересно, слишком много запросов за год, даже если есть пейджинг? Любые идеи для решений, кроме как отменить, и как долго?
Спасибо
Пример запроса, который не удается:
https://graph.microsoft.com/v1.0/me/messages?$filter=IsDraft+eq+false+and+ReceivedDateTime+ge+2019-03-28T20%3a08%3a51.929Z+and+ReceivedDateTime+lt+2020-02-20T19%3a48%3a37Z&$orderby=ReceivedDateTime+desc&$expand=SingleValueExtendedProperties(%24filter%3did+eq+%27String+0x7D%27)&$select=conversationId%2cchangeKey%2csentDateTime%2creceivedDateTime%2cisRead%2chasAttachments%2cinternetMessageHeaders%2csender%2cfrom%2ctoRecipients%2cccRecipients%2cbccRecipients%2csubject%2cinternetMessageId%2cparentFolderId&$top=50&$skip=51
Редактировать: подождать час, прежде чем отправить больше запросы, кажется, не помогают. Похоже, проблема в большом запросе.