Используя Уведомления об изменениях в Microsoft Graph , Вы можете создать подписку (она же webhook) для всех групп (то есть подписка update
на ресурсе groups
).Это будет включать уведомления о любых изменениях членства в группах.
Создание подписки:
POST https://graph.microsoft.com/v1.0/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://www.example.com/notifications",
"resource": "groups",
"expirationDateTime": "2019-04-06T14:55:47.082Z"
}
В этом примере уведомления объект с id
"4300f326-4062-4daf-9b91-018f82e87361"был добавлен в группу с id
4f747e07-50c1-4797-8eba-a2bb7104bfc4:
{
"value": [
{
"changeType": "updated",
"clientState": null,
"resource": "Groups/4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"resourceData": {
"@odata.type": "#Microsoft.Graph.Group",
"@odata.id": "Groups/4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"id": "4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"organizationId": "1c411c5e-78cc-4e89-af5e-169408a540b8",
"sequenceNumber": 636899867048350977,
"members@delta": [
{
"id": "4300f326-4062-4daf-9b91-018f82e87361"
}
]
},
"subscriptionExpirationDateTime": "2019-04-06T14:55:47.082+00:00",
"subscriptionId": "448ed5dc-73e9-4c5a-9d4f-94bd7c5dd762",
"tenantId": "1c411c5e-78cc-4e89-af5e-169408a540b8"
}
]
}
Здесь этот же пользователь был удален из группы (обратите внимание на атрибут @removed
в элементев members@delta
):
{
"value": [
{
"changeType": "updated",
"clientState": null,
"resource": "Groups/4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"resourceData": {
"@odata.type": "#Microsoft.Graph.Group",
"@odata.id": "Groups/4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"id": "4f747e07-50c1-4797-8eba-a2bb7104bfc4",
"organizationId": "1c411c5e-78cc-4e89-af5e-169408a540b8",
"sequenceNumber": 636899869819085879,
"members@delta": [
{
"id": "4300f326-4062-4daf-9b91-018f82e87361",
"@removed": "deleted"
}
]
},
"subscriptionExpirationDateTime": "2019-04-06T14:55:47.082+00:00",
"subscriptionId": "448ed5dc-73e9-4c5a-9d4f-94bd7c5dd762",
"tenantId": "1c411c5e-78cc-4e89-af5e-169408a540b8"
}
]
}