javascript — Уведомление для lifecycleEvent «subscriptionRemoved», не вызываемое изменением пароля в Microsoft Graph API

Уведомление для lifecycleEvent «subscriptionRemoved» не вызывается при смене пароля в Microsoft Graph API

Я использую Microsoft Graph API для подписки на уведомления о событиях календаря через Node. После прочтения документации по рекомендациям по сокращению отсутствующих подписок и уведомлений для ресурсов Outlook (предварительный просмотр) , он говорит, что:

Некоторые события в Outlook могут привести к удалению подписки. Эти события включают в себя:

  • Пароль пользователя был сброшен
  • Устройство пользователя не соответствует требованиям
  • Учетная запись пользователя была отозвана

Когда такое событие происходит, Outlook отправляет специальное уведомление о жизненном цикле subscriptionRemoved.

Outlook также отправляет другое уведомление о жизненном цикле, пропущенное, если уведомление не может быть доставлено приложению.

Приложение, подписывающееся на уведомления для ресурсов Outlook, таких как сообщения и события, должно прослушивать subscriptionRemoved и пропущенные сигналы:

  • После получения уведомления о удалении подписки приложение должно заново создать подписку, чтобы поддерживать непрерывный поток.
  • При получении пропущенного уведомления приложение должно синхронизировать данные ресурса с помощью Microsoft Graph.

Чтобы получать уведомления о жизненном цикле, вы можете использовать существующую конечную точку messagesUrl, которая уже получает уведомления о ресурсах, или вы можете зарегистрировать отдельный lifecycleNotificationUrl для получения subscriptionRemoved и пропущенных уведомлений в отдельной конечной точке.

После того, как я подписался на события календаря пользователя, я получаю уведомления об изменениях без каких-либо проблем, но если я изменяю пароль пользователя, я должен получить subscriptionRemoved уведомления lifecycleEvent, как сказано выше; однако после изменения пароля примерно 30 раз я так и не получил уведомление. В чем может быть проблема здесь? Я не смог найти больше информации о том, как вызвать уведомление.

Если это поможет, я подписываюсь на ресурс me/events с changeType: "created,updated,deleted" .

  const subscriptionOptions = { changeType: 'created,updated,deleted', notificationUrl: `node-service-url/outlook-events/${userId}`, resource: 'me/events', expirationDateTime: 'someExpirationDateTime', clientState: 'someClientState' } const subscription = await client .api('/subscriptions') .post(subscriptionOptions) 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector