У Microsoft есть push-уведомление api aka webhook для событий Outlook.Для этого вам необходимо сначала зарегистрироваться (создать подписку на ресурс) webhook.посмотрите ниже фрагмент кода, который позволяет отправлять уведомления, когда любое событие создается или обновляется в URL-адресе уведомления.документ здесь https://docs.microsoft.com/en-us/graph/webhooks#notification-endpoint-validation
POST https://graph.microsoft.com/v1.0/subscriptions
Content-type: application/json
{
"changeType": "created,updated",
"notificationUrl": "<YOUR-notification api endpoint>/api/notify",
"resource": "me/events",
"expirationDateTime":"2019-03-3T18:23:45.9356913Z",
"clientState": "myOutlookEvents"
}
Вы можете использовать clientState для проверки запроса конечной точки, поступающего из MS Graph.
MS будет отправлять данные POSTв следующем формате
{
"value": [
{
"subscriptionId":"<subscription_guid>",
"subscriptionExpirationDateTime":2019-03-3T18:23:45.9356913Z",
"clientState": "myOutlookEvents",
"changeType":"created",
"resource":"users/{user_guid}@<tenant_guid>/event/{long_id_string}",
"resourceData":
{
"@odata.type":"#Microsoft.Graph.Event",
"@odata.id":"Users/{user_guid}@<tenant_guid>/event/{long_id_string}",
"@odata.etag":"W/\"CQAAABYAAADkrWGo7bouTKlsgTZMr9KwAAAUWRHf\"",
"id":"<long_id_string>"
}
}
]
}
После этого вам нужно получить событие с идентификатором, полученным из графика api