Microsoft Graph Api Webhook подписка через Rest Api больше не работает

У меня есть рабочее приложение, которое получает по электронной почте события webhook от MS-Graph Api. Я заметил, что не могу найти подписку обратно с помощью subscriptionId, я получаю сообщение об ошибке 404. Я также не могу удалить подписку, используя идентификатор.

Я провел дальнейшие исследования и заметил, что больше не могу создавать новые подписки. Приложение, зарегистрированное в Azure AD, является приложением-службой (демон).

Мое приложение автоматически обновляет подписки, и каждый раз, когда это происходит, я получаю ответ 202, но каким-то образом подписка теряется.

Запрос:

POST: https://graph.microsoft.com/beta/subscriptions

{ "changeType": "created,updated,deleted", "notificationUrl": "https://myapi.azurewebsites.net/GraphWebhook/Inbox", "resource": "Users/myemail@company.nl/mailFolders('inbox')/messages", "expirationDateTime":"2016-10-25T20:23:45.9356913Z", "clientState": "subscription-identifier" }

Отклик:

"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: NotFound; Reason: Not Found]",
"innerError": {
  "request-id": "681ac550-be6f-4882-9b6b-e089c36ad38e",
  "date": "2016-10-25T10:13:25"
}

У кого-нибудь есть какие-либо идеи?

ОБНОВЛЕНИЕ: Работа теперь снова на ровном месте.

1 ответ

Решение

API поддерживает как идентификатор пользователя, так и адрес электронной почты пользователя как часть пути к ресурсу, и он НЕ изменяется. Чтобы проверить, является ли это проблемой API или проблемой ресурса, вы можете попытаться получить доступ к своему ресурсу, используя Graph Explorer:

ПОЛУЧИТЕ https://graph.microsoft.com/beta/users/myemail@company.nl/mailFolders('inbox') / messages

Что касается ошибки, которую вы увидели при создании подписки, то это похоже на проблему Exchange, связанную с этим.

Надеюсь это поможет.

Другие вопросы по тегам