ErrorServiceUnavailable при попадании в конечную точку http-сообщений Outlook Sync.

Я пытаюсь выяснить, как синхронизировать определенные почтовые сообщения Outlook. Я использую конечные точки http rest (вот ссылка на документацию, которой я следую: https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations),

Я обнаружил, что если пользователь "портировал" свою существующую электронную почту (скажем, на данный момент gmail) на outlook, outlook назначает ему специальную электронную почту. Обычно в виде следующего:

testaccount@gmail.com -> outlook_некоторый хэш@outlook.com

Теперь у меня возникли некоторые проблемы с синхронизацией этих "портированных" пользователей (сейчас я их так назову), и каждый раз, когда я нажимаю на API синхронизации https://outlook.office.com/api/v2.0/Users/*insert email address here*/MailFolders/AllItems/messagesЯ получаю следующую ошибку:

{ error: 
   { code: 'ErrorServiceUnavailable',
 message: 'Active Directory operation did not succeed. Try again later.' } }

и код состояния запроса 503,

Мой запрос довольно прост:

export ACCESS_TOKEN=here; export EMAIL=here; curl -X GET -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Accept: application/json" \
-H "Cache-Control: no-cache" \
-H "Postman-Token: 4455c965-0d49-610a-48e8-7ab37a20c111" \
"https://outlook.office.com/api/v2.0/Users/$EMAIL/MailFolders/AllItems/messages"

Отклик:

< HTTP/1.1 503 Service Unavailable
< Cache-Control: private
< Transfer-Encoding: chunked
< Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
< Server: Microsoft-IIS/8.5
< Set-Cookie: exchangecookie=**cookie**; expires=Fri, 16-Feb-2018 19:02:08 GMT; path=/; HttpOnly
< request-id: **request id**
< X-CalculatedFETarget: BN3PR0601CU001.internal.outlook.com
< X-BackEndHttpStatus: 503
< X-FEProxyInfo: BN3PR0601CA0025.NAMPRD06.PROD.OUTLOOK.COM
< X-CalculatedFETarget: namprd13-provisioning.internal.outlook.com
< X-BackEndHttpStatus: 503
< X-FEProxyInfo: DM3PR13CA0019.NAMPRD13.PROD.OUTLOOK.COM
< X-CalculatedBETarget: CY4PR13MB1078.namprd13.prod.outlook.com
< X-BackEndHttpStatus: 503
< OData-Version: 4.0
< X-AspNet-Version: 4.0.30319
< X-DiagInfo: CY4PR13MB1078
< X-BEServer: CY4PR13MB1078
< X-FEServer: DM3PR13CA0019
< X-FEServer: BN3PR0601CA0025
< X-Powered-By: ASP.NET
< X-FEServer: BY2PR11CA0016
< X-MSEdge-Ref: Ref A: 1DD7FE1BB0584157A03AB3615CBC3EB6 Ref B: BY1EDGE0414 Ref C: Thu Feb 16 11:02:08 2017 PST
< Date: Thu, 16 Feb 2017 19:02:07 GMT
< 
* Curl_http_done: called premature == 0
* Connection #0 to host outlook.office.com left intact
{"error":{"code":"ErrorServiceUnavailable","message":"Active Directory operation did not succeed. Try again later."}}

Эта ошибка происходит только на этих "портированных" учетных записях Outlook. Эти пользователи дали мне доступ через oauth2 (у меня есть токен доступа и токен обновления).

Есть идеи, как на самом деле синхронизировать эти учетные записи? Похоже, ошибка на стороне Outlook, поскольку мой код отлично работает для обычных учетных записей Outlook (например, jerry_smith@hotmail.com или ilovecats@outlook.com).

заранее спасибо

1 ответ

Нашел ответ, если изменить URL-адрес на " https://outlook.office.com/api/v2.0/me/MailFolders/AllItems/messages"

(замените Users/$EMAIL на меня)

это работает, нет 503.

Другие вопросы по тегам