2016-09-28 102 views
0

我的應用程序使用Outlook Push Notifications REST API獲取一組用戶的更新。Outlook推送通知REST API在訂閱註冊中失敗

我使用,使登記的代碼就像下面:

HTTP POST to: 
    https://outlook.office.com/api/v2.0/users/<user email>/subscriptions 

POST data = { 
     '@odata.type': '#Microsoft.OutlookServices.PushSubscription', 
     'Resource': 'https://outlook.office.com/api/v2.0/me/messages', 
     'NotificationURL': 'https://<my_valid_hostname>/api/subscriptions', 
     'ChangeType': 'Created, Deleted', 
     'ClientState': <user UUID>, 
    } 

該代碼總是能正常工作,但由於09月26日就停止爲用戶大多是工作的。 HTTP請求進行登記,以網站通知返回HTTP 403錯誤:

HTTP 403 Error: https://outlook.office.com/api/v2.0/users/<user email>/subscriptions 
{ 
    "error": { 
    "code": "ErrorAccessDenied", 
    "message":"Access is denied. Check credentials and try again." 
    } 
} 

這個應用程序是在Azure AAD portal註冊後端aplication並使用令牌允許我做代表用戶的請求。

我的令牌憑據正常工作。我對Graph API和Outlook API使用相同的標記而沒有錯誤。我刷新了它,看看錯誤消失了,但它不起作用。無論如何,這個錯誤都是爲了新鮮的令牌。

對於一些用戶我沒有錯誤,它總是工作。訂閱創建正常,並像往常一樣返回JSON中的訂閱數據。

這讓我覺得它可能是微軟方面的問題,但我無法檢查這一點。

那麼我該如何解決受影響用戶的這個錯誤?

回答

0

我記住的第一件事是,你忘了更新日曆訂閱嗎?這是最大的。那些活着的14天。在到期前的任何時間,您都可以續訂訂閱,之後您仍可以恢復訂閱。

事實上,現在我用我的應用程序測試了新的訂閱,並且我只有7天到期日期。

在這一點上,我得到你創建新的訂閱時出錯。你確定你的access_token仍然有效嗎?