Это действительно хороший вопрос, и ответ совсем не очевиден.По иронии судьбы, у нас была точно такая же проблема в командах Microsoft - когда пользователь был добавлен или удален из базовой группы Office 365 (которая используется в Azure AD), для отражения в командах потребовался час, а иногда и больше,которая имеет свою собственную копию списка участников.
Есть способ сделать это, и это то, как это делает команда: он опирается на относительно новую функцию в Microsoft Graph, которая называется подписки .Вы можете найти документацию для этого здесь: https://docs.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0.
По сути, вы хотите создать подписку на группу : POST https://graph.microsoft.com/v1.0/subscriptions
с правильным телом сообщения и ваша конечная точка будетбыть вызванным всякий раз, когда есть изменение составаВаша конечная точка не будет знать что изменилось, только событие и некоторые идентификаторы - вам, вероятно, придется сделать отдельный вызов, чтобы получить фактические данные (если только идентификаторов недостаточно).
На GitHub есть пример , который иллюстрирует, как использовать подписки Microsoft Graph , включая дополнительные сведения о том, как конкретно подписаться на групповые уведомления.
Следует иметь в виду, что для использования этих APIвашему приложению потребуются достаточно повышенные разрешения: Group.Read.All
, что означает, что оно может читать не только члены команды / группы, но и все свои сообщения (среди прочего) для каждой группы в клиенте Office 365.Мы работаем с командой MS Graph для поддержки менее привилегированного подхода для каждой группы, но даже после того, как он будет выпущен для API Teams Graph, его поддержку придется добавить в API подписок, о которых я только что упомянул, и это может не произойти.случиться на некоторое время.