0

我正在尝试访问 Microsoft 的 Outlook.com 日历 REST API。我正确设置了 OAUTH2 身份验证,并且有可用的有效访问令牌和刷新令牌。

但是,如果我尝试https://outlook.office.com使用我的访问令牌访问日历列表 @:

GET /api/v1.0/me/calendars HTTP/1.1
Accept: application/json; odata.metadata=none
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciO[...]

服务返回403 Forbidden

HTTP/1.1 403 Forbidden
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: ClientId=OD6KHQBTKOKMLXUI8OJEG; expires=Wed, 21-Sep-2016 18:37:21 GMT; path=/; secure; HttpOnly
Set-Cookie: exchangecookie=8e4f582170cb445780c7148e9494b293; expires=Thu, 22-Sep-2016 18:37:23 GMT; path=/; HttpOnly
Set-Cookie: ClientId=OD6KHQBTKOKMLXUI8OJEG; expires=Wed, 21-Sep-2016 18:37:21 GMT; path=/; secure; HttpOnly
request-id: 7113f37d-69e0-4f8c-a264-9f3599d47899
X-CalculatedBETarget: CY1PR08MB1801.namprd08.prod.outlook.com
X-BackEndHttpStatus: 403
OData-Version: 4.0
X-AspNet-Version: 4.0.30319
X-DiagInfo: CY1PR08MB1801
X-BEServer: CY1PR08MB1801
X-Powered-By: ASP.NET
X-FEServer: AM3PR04CA0074
X-MSEdge-Ref: Ref A: D69A31E4FAA44258B0B8C351A71D2F9E Ref B: 0D3CA60C0976F50C452293F8CF403D8C Ref C: Tue Sep 22 11:37:23 2015 PST
Date: Tue, 22 Sep 2015 18:37:22 GMT

{"error":{"code":"ErrorAccessDenied","message":"Access to OData is disabled."}}

我玩弄了Outlook 的 OAuth Sandbox,其中相同的请求200 OK在正文中返回带有正确数据的 a 。奇怪的是,他们发现了一个不错的小东西Show me the cURL!沙箱中的按钮,但是这个确切的curl命令将再次失败,并403在我的终端中出现错误。

我错过了什么?

4

1 回答 1

1

我和一位微软技术人员谈过。我的问题是,REST API 尚未公开(尚未),微软尚未为标准 Outlook.com 帐户启用 API。

我通过向 outlookdev@microsoft.com 发送电子邮件请求了一个启用了 REST API 的 Outlook 开发人员预览帐户

我花了一些时间才收到 Microsoft 的回复,但使用开发人员帐户现在一切正常。

于 2015-10-29T20:28:33.207 回答