2016-09-28 16 views
0

Мое приложение использует Outlook Push Notifications REST API для получения обновлений для набора пользователей.Уведомления Outlook Push 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>, 
    } 

Этот код всегда работал хорошо, но с 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 и использует маркер, который позволит мне делать запросы от имени пользователей.

Мои учетные данные для токенов работают нормально. Я использую тот же токен для API Графика и API Outlook без ошибок. Я обновил его, чтобы увидеть, исчезла ли ошибка, но она не работает. В любом случае ошибка возникает для свежих токенов.

Для некоторых пользователей я не получаю ошибок, он всегда работает. Подписка создана отлично, и я получаю данные подписки в JSON, как обычно.

Это заставляет меня думать, что это может быть проблемой на стороне Microsoft, но у меня нет возможности проверить это.

Так как я могу исправить эту ошибку для затронутых пользователей?

ответ

0

Первое, что приходит мне на ум, это то, что вы забыли продлить подписку на календарь? Это что-то вроде макс. 14 дней они живы. В любое время до истечения срока действия вы можете продлить подписку, после чего вы сможете возобновить подписку.

Фактически сейчас я протестировал новую подписку с моим приложением, и я получаю только 7 дней до истечения срока.

На данный момент я понял, что вы получаете сообщение об ошибке при создании новой подписки. Вы уверены, что ваш access_token по-прежнему действителен?