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, связанную с этим.
Надеюсь это поможет.