2015-09-22 31 views
0

我試圖訪問Microsoft的Outlook.com日曆REST API。我正確設置了OAUTH2身份驗證,並有可用的有效訪問令牌和刷新令牌。Microsoft Calendar REST API - 禁止訪問OData

但是,如果我試圖用我的訪問令牌來訪問日曆列表@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's OAuth Sandbox,其中相同的發揮各地請求返回一個200 OK正確的數據在正文中。奇怪的是,他們發現一個不錯的小讓我看看!按鈕,但是這個確切curl命令將再次失敗,並在我的終端中出現403錯誤。

我錯過了什麼?

+0

當你使用cURL時,你是否在使用操場提供給你的令牌,或者你是否使用了應用程序中的令牌? –

+0

當您調用/api/v1.0/me/calendars時,能否請您提供失敗響應的標題?這也將幫助我們弄清爲什麼訪問被拒絕。 –

+1

@JasonJohnston無論我使用操場還是我的應用程序中的令牌,我都可以得到相同的結果。 –

回答

0

我跟微軟的技術人員交談過。我的問題是,REST API未公開(尚未),並且Microsoft尚未爲標準Outlook.com帳戶啓用API。

我要求與REST API一個Outlook的開發者預覽帳戶通過寫郵件啓用[email protected]

用了一段時間,直到我從微軟的迴應,但使用開發者帳戶一切正常,現在如預期。