Outlook message subscription reveived nothing about lifecycle event "reauthorizationRequired"
When I create a subscription for outlook message using the Microsoft Graph API change notifications, I successfully created it with notificationUrl and lifecycleNotificationUrl. But only 'lifecycleEvent=missed' messages can be received by lifecycle notification url. I waited until my subscription expired and didn't get 'subscriptionRemoved ' message or 'reauthorizationRequired' message.
However, other Q&A mentioned that when a subscription is created with an expiration time of less than 1 hour, the endpoint will be received notified of reauthorizationRequired immediately. So my current situation must be abnormal.https://learn.microsoft.com/en-us/answers/questions/737296/why-am-i-receiving-reauthorizationrequired-lifecyc
I have seen the same problem in other Q&A, but there is no logical solution.https://learn.microsoft.com/en-us/answers/questions/896956/why-cant-mail-subscription-receive-reauthorization
My biggest problem at the moment is that I can't reauthorize or renew a subscription because I can't receive a subscriptionRemoved or reauthorizationRequired notification.
My reference documents are as follows:
https://learn.microsoft.com/en-us/graph/change-notifications-lifecycle-events?tabs=http
https://learn.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0
Configure the following when creating a subscription:
POST https://graph.microsoft.com/v1.0/subscriptions
{
changeType: "created,updated",
notificationUrl: `${host}/teams/notification`,
lifecycleNotificationUrl: `${host}/teams/lifecycleNotification`,
resource: "/me/messages? $select=Subject,bodyPreview,importance,receivedDateTime,from,toRecipients",
includeResourceData: true,
encryptionCertificate: "<base64 encoded cert>",
encryptionCertificateId: "testcert1",
expirationDateTime: <2160 minutes (1.5 days) from now>
}
The log of the missed notification is as follows:
24112311440055118361-2024-11-23t11:4:00.552463+ 00:00-Laravel-INFO-outlook/lifecycle_callback-lifecycle callback from outlook params: {"value":[{"tenantId":"<tenantId>","subscriptionId":"<subscriptionId>","su BscriptionExpirationDateTime ":" the 2024-11-24 T04: within. 468551 + 00:00, "" lifecycleEvent" : "missed", "clientState SecretClientSt" :" ate","resourceData":null,"resource":"Subscriptions/6ca05fxxxxxx"}]}