2017-01-10 1 views
0

Я отправляю сообщения, используя API-интерфейс Microsoft Graph REST. Мое приложение - это приложение service/daemon, в котором я отправляю электронное письмо от имени пользователя. Я использую API sendMail (POST/users/{user id}/sendMail), и это работает очень большой процент времени. Проблема в том, что каждый так часто возвращается ошибка:sendMail Intermittent Errors

{"error": {"code": "UnknownError", "message": "", "innerError": {"request-id": " a901d503-8acf-47e7-8f7e-a20311aa0e3b "," date ":" 2017-01-10T15: 06: 48 "}}}

Любая идея, что вызывает эту ошибку, и есть ли обходной путь?

ответ

0

Журналы показывают, что вы получаете код состояния 429 (что означает дросселирование).

Ваше приложение отправляет множество запросов для одного и того же ресурса/пользователя? Если да, то error docs сказать:

Клиентское приложение было задушил и не должны пытаться повторить запрос, пока количество времени не прошло.

+0

Да, я посылаю много запросов для пользователя. Сколько времени потребуется, прежде чем повторять попытку? Есть ли способ отключить дросселирование для конкретного пользователя? Любые рекомендации о том, сколько запросов вызовет ошибку дросселирования? –

+0

Что касается времени - в этом случае Exchange возвратил Retry-After = 300. Microsoft Graph в настоящее время не передает этот заголовок ответа клиенту, но для этого есть активный запрос Pull, поэтому Microsoft Graph должен начать возвращать Retry-After для 429s в ближайшее время. – DianeD

+0

Я замедлял отправку своей электронной почты примерно до 1 секунды, и все же я все еще вижу эту ошибку. Замедлит ли это замедление, или что-то еще, что приведет к появлению ошибок? Мне действительно нужно, чтобы это работало последовательно. Я отправляю эти письма от имени большого офиса 365 клиентов. –

 Смежные вопросы

  • Нет связанных вопросов^_^