Outlook Rest API - 503服务对于域中只有一个用户不可用,其他用户工作
问题描述:
我试图帮助用户连接到Outlook API。这个人的三个同事都拥有相同的电子邮件域,能够成功连接并执行API调用,但是一个用户正在收到503个服务不可用响应。Outlook Rest API - 503服务对于域中只有一个用户不可用,其他用户工作
用户能够成功获取访问令牌,并且该访问令牌也可以成功刷新。
以下是来自“Outlook开发人员中心 - Oauth沙盒工具”https://oauthplay.azurewebsites.net/的示例请求和响应。
GET https://outlook.office.com/api/v2.0/me/mailfolders/sentitems/messages?$filter=sentdatetime%20ge%202017-02-13T00:00:00Z HTTP/1.1
Accept: text/*, application/xml, application/json; odata.metadata=none
User-Agent: PlayGroundAgent/1.0
Authorization: Bearer {hidden}
client-request-id: ce0330c6-56cd-4ab9-b3ab-69670b565cac
X-AnchorMailbox: {hidden}
HTTP/1.1 503 Service Unavailable
Transfer-Encoding: chunked
request-id: c81e91cc-705d-4abe-a6e5-5bafbdd62b87
X-CalculatedFETarget: MWHPR01CU001.internal.outlook.com
X-BackEndHttpStatus: 503, 503
X-FEProxyInfo: MWHPR01CA0012.PROD.EXCHANGELABS.COM
X-CalculatedBETarget: MWHPR16MB1583.namprd16.prod.outlook.com
OData-Version: 4.0
X-DiagInfo: MWHPR16MB1583
X-BEServer: MWHPR16MB1583
X-FEServer: MWHPR01CA0012, MWHPR15CA0056
Cache-Control: private
Date: Mon, 13 Feb 2017 20:11:39 GMT
Set-Cookie: exchangecookie={hidden}; expires=Tue, 13-Feb-2018 20:11:40 GMT; path=/; HttpOnly
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
{
"error": {
"code": "ErrorServiceUnavailable",
"message": "Active Directory operation did not succeed. Try again later."
}
}
我的理解是,该用户曾经在Exchange上并且近年来已迁移到Office 365。能够连接的三个用户最初并不在Exchange上,他们都在Office 365上创建了新的网络帐户。我的假设是,从Exchange到Office 365的迁移过程中的某些操作会导致503 Service Unavailable响应。
答
当用户具有相同的SMTP地址用于消费者和企业帐户时,可能会发生此问题。最简单的解决方案可能是在授权将使用Outlook API的应用程序时选择正确的帐户。
用户还可以更改消费者帐户的别名,如本文所述:https://support.office.com/en-us/article/-Something-went-wrong-page-with-error-ADDriverStoreAccessNonLocalException-4133f321-4af1-4f7d-98af-7756f5892bb7?ui=en-US&rs=en-US&ad=US。