Уведомления об изменениях microsoft API Graph

Пространство имен: microsoft.graph

REST API Microsoft Graph может доставлять уведомления об изменениях клиентам через различные конечные точки, включая веб-перехватчики, Центры событий и Сетку событий. Сведения о подписке и получении уведомлений для приложения см. в статье Настройка уведомлений об изменениях в данных пользователей.

Приложение может подписаться на изменения в ресурсах Microsoft Graph, перечисленных в таблице. Подписки на ресурсы, помеченные звездочкой (*), доступны только в конечной точке /beta .

Примечание.

Для ресурсов Microsoft Teams ограничение на организацию в 10 000 общих подписок совместно используется во всех подписках на уведомления об изменениях Teams в клиенте. Она включает подписки, созданные для различных ресурсов Teams, таких как чаты, сообщения чата, расшифровки звонков, записи звонков, каналы, команды и участники беседы, которые учитываются в рамках одной и той же квоты организации. Когда совокупное количество активных подписок Teams достигает этого предела, любой запрос на создание дополнительной подписки для ресурса Teams завершается ошибкой 403 Forbidden .

Ресурс Поддерживаемые пути к ресурсам Ограничения
Облачная печать printer Изменяется, когда задание печати готово к скачиванию (событие jobFetchable): /print/printers/{id}/jobs -
Облачная печать printTaskDefinition Изменяется при наличии допустимого задания в очереди (событие jobStarted): /print/printtaskdefinition/{id}/tasks -
Copilot aiInsights Аналитика Copilot AI из собраний, частью которыми является конкретный пользователь: /copilot/users/{userId}/onlineMeetings/getAllAiInsights

Аналитика Copilot AI для конкретного собрания: /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights
Максимальные квоты подписки для аналитики ИИ во всех собраниях для пользователя:
  • Для каждого приложения и пользователя: 1
  • На пользователя (делегировано): 10
  • На организацию: всего 10 000 подписок.


Максимальные квоты подписки для аналитики ИИ для конкретного собрания:
  • Для каждого приложения и пользователя и собрания: 1
  • На пользователя и сочетание собраний (делегировано): 1
  • На организацию: всего 10 000 подписок (общих)
Copilot aiInteraction Взаимодействие с ИИ Copilot, частью чего является конкретный пользователь: copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions

Взаимодействие Copilot AI в организации: copilot/interactionHistory/getAllEnterpriseInteractions
Квоты максимальной подписки:
  • Сочетание приложения и клиента (для подписок, отслеживая взаимодействие ИИ в клиенте): 1
  • Для каждого приложения и пользователя (для подписок, отслеживающего взаимодействие СИ, частью является конкретный пользователь): 1
  • На пользователя (для подписок, отслеживаемых взаимодействием СИ, частью является конкретный пользователь): 10 подписок.
  • На организацию: всего 10 000 подписок.
driveItemна OneDrive (личный) Изменения содержимого в иерархии любой папки: /users/{id}/drive/root -
driveItem в OneDrive для работы или учебы Изменения содержимого в иерархии корневой папки: /drives/{id}/root , /users/{id}/drive/root -
group Изменения во всех группах: /groups

Изменения в определенной группе: /groups/{id}

Изменения владельцев определенной группы: /groups/{id}/owners

Изменения членов определенной группы: /groups/{id}/members
Квоты максимальной подписки:
  • На приложение (для всех клиентов вместе взятых): 50 000 подписок.
  • На клиента (для всех приложений вместе взятых): 1000 подписок во всех приложениях.
  • На одно сочетание приложения и клиента: всего 100 подписок.


Не поддерживается для Azure AD клиентов B2C.

ПРИМЕЧАНИЕ: Создание и обратимое удаление групп также активирует updatedchangeType.
оповещение о мониторинге работоспособности Microsoft Entra Изменения во всех оповещениях мониторинга работоспособности: /reports/healthmonitoring/alerts

Изменения в определенном типе оповещения: /reports/healthmonitoring/alert свойство notificationQueryOptions в полезных данных запроса задано как $filter=alertType eq '{alertType}'
-
список на сайте SharePoint Изменения содержимого в списке: /sites/{site-id}/lists/{list-id} -
Групповой чат Microsoft 365 Изменения в беседах группы: groups/{id}/conversations -
Сообщение Outlook Изменения во всех сообщениях в почтовом ящике пользователя: /users/{id}/messages , /me/messages

Изменения в сообщениях в папке "Входящие" пользователя: /users/{id}/mailFolders('inbox')/messages , /me/mailFolders('inbox')/messages
Допускается не более 1000 активных подписок на почтовый ящик для всех приложений.
Событие Outlook Изменения во всех событиях в почтовом ящике пользователя: /users/{id}/events , /me/events Допускается не более 1000 активных подписок на почтовый ящик для всех приложений.
Личный контакт Outlook Изменения для всех личных контактов в почтовом ящике пользователя: /users/{id}/contacts , /me/contacts Допускается не более 1000 активных подписок на почтовый ящик для всех приложений.
Оповещение безопасности Изменения в конкретном оповещении: /security/alerts/{id}

Изменения в отфильтрованных оповещениях: /security/alerts/?$filter={parameters}
Дополнительные сведения см. в разделе API безопасности оповещения.
Утверждения Teams Изменения во всех утверждениях в клиенте: /solutions/approval/approvalItems Квоты максимальной подписки:
  • На клиента (для сочетания всех приложений): 1000 подписок всего во всех приложениях
  • Для каждого приложения и клиента: 1 подписка.
callRecord в Teams Изменения во всех записях звонков: /communications/callRecords

Изменения в отфильтрованных записях вызовов: /communications/callRecords?$filter={parameters}
Дополнительные сведения см. в разделе Уведомления об изменении для записей вызовов.

Квоты максимальной подписки:
  • На организацию: всего 100 подписок.


ПРИМЕЧАНИЕ: Создание записей вызовов также активирует updatedchangeType.
Вызовы TeamsRecording Все записи в организации: communications/onlineMeetings/getAllRecordings

Все записи для определенного собрания: communications/onlineMeetings/{onlineMeetingId}/recordings

Запись звонка, которая становится доступной на собрании, организованном определенным пользователем: users/{id}/onlineMeetings/getAllRecordings

Запись звонка, которая становится доступной на собрании, где установлено определенное приложение Teams: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings *
Квоты максимальной подписки:
  • Для каждого приложения и сочетания онлайн-собраний: 1
  • Для каждого приложения и пользователя: 1
  • На пользователя (для записей отслеживания подписок во всех onlineMeetings, организованных пользователем): 10 подписок.
  • На организацию: всего 10 000 подписок.
Вызов TeamsTranscript Все расшифровки в организации: communications/onlineMeetings/getAllTranscripts

Все расшифровки для определенного собрания: communications/onlineMeetings/{onlineMeetingId}/transcripts

Расшифровка звонка, которая становится доступной на собрании, организованном определенным пользователем: users/{id}/onlineMeetings/getAllTranscripts

Расшифровка звонка, которая становится доступной на собрании, где установлено определенное приложение Teams: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts *
Квоты максимальной подписки:
  • Для каждого приложения и сочетания онлайн-собраний: 1
  • Для каждого приложения и пользователя: 1
  • На пользователя (для подписок, отслеживающих расшифровки во всех onlineMeetings, упорядоченных пользователем): 10 подписок.
  • На организацию: всего 10 000 подписок.
Чат Teams Изменения в любом чате в клиенте: /chats

Изменения в конкретном чате: /chats/{id}

Изменения в определенном чате с параметром запроса notifyOnUserSpecificProperties : /chats/{id}?notifyOnUserSpecificProperties={Boolean}

Изменения во всех чатах в организации, где установлено определенное приложение Teams: /appCatalogs/teamsApps/{id}/installedToChats

Изменения во всех чатах, частью которыми является конкретный пользователь: /users/{id}/chats

Изменения во всех чатах, частью которыми является конкретный пользователь, с помощью параметра запроса notifyOnUserSpecificProperties : /users/{id}/chats?notifyOnUserSpecificProperties={Boolean}
Квоты максимальной подписки:
  • Для каждого приложения и чата: 1 подписка.
  • На организацию: всего 10 000 подписок.
  • На пользователя (для подписок, отслеживающих все чаты, в которые входит конкретный пользователь): 10 подписок.
chatMessage Teams Изменения в сообщениях чата во всех каналах во всех командах: /teams/getAllMessages

Изменения в сообщениях чата в определенном канале: /teams/{id}/channels/{id}/messages

Изменения в сообщениях чата во всех чатах: /chats/getAllMessages

Изменения в сообщениях чата в определенном чате: /chats/{id}/messages

Изменения в сообщениях чата во всех чатах, в которые входит конкретный пользователь: /users/{id}/chats/getAllMessages

Изменения в сообщениях чата для всех чатов в организации, где установлено определенное приложение Teams: /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
Квоты максимальной подписки:
  • Для каждого приложения и канала или чата: 1 подписка.
  • На пользователя (для подписок, отслеживая сообщения чата во всех чатах, в которые входит пользователь): 10 подписок.
  • На организацию: всего 10 000 подписок.
Канал Teams Изменения каналов во всех командах: /teams/getAllChannels

Изменения канала в определенной команде: /teams/{id}/channels
Квоты максимальной подписки:
  • Для каждого приложения и команды: 1 подписка.
  • На организацию: всего 10 000 подписок.
conversationMember в Teams Изменения членства в определенной команде: /teams/{id}/members

Изменения членства во всех каналах в определенной команде: teams/{id}/channels/getAllMembers

Изменения в членстве в определенном чате: /chats/{id}/members

Изменения в членстве для всех чатов в организации, где установлено определенное приложение Teams: /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers

Изменения членства во всех чатах: /chats/getAllMembers
Квоты максимальной подписки:
  • Для каждого приложения и команды: 1 подписка.
  • На организацию: всего 10 000 подписок.
Teams onlineMeeting* Изменения в онлайн-собрании: /communications/onlineMeetings(joinWebUrl='{encodedJoinWebUrl}')/meetingCallEvents Не поддерживает использование $select для возврата только выбранных свойств. Расширенное уведомление состоит из всех свойств измененного экземпляра. Одна подписка разрешена для каждого приложения на собрание по сети. Дополнительные сведения см. в разделе Получение уведомлений об изменениях для обновлений событий звонков в Microsoft Teams.
presence в Teams Изменения в присутствии одного пользователя: /communications/presences/{id}

Изменения в присутствии нескольких пользователей: /communications/presences?$filter=id in ({id},{id}...)
Подписка на присутствие нескольких пользователей ограничена 650 отдельными пользователями. Не поддерживает использование $select для возврата только выбранных свойств. Расширенное уведомление состоит из всех свойств измененного экземпляра. Допускается одна подписка на одно приложение на каждого делегированного пользователя. Дополнительные сведения см. в разделе Получение уведомлений об изменениях для обновлений присутствия в Microsoft Teams.
Команда Teams Изменения в любой команде в клиенте: /teams

Изменения в конкретной команде: /teams/{id}
Квоты максимальной подписки:
  • Для каждого приложения и команды: 1 подписка.
  • На организацию: всего 10 000 подписок.
Предложение Смены TeamsShiftRequest Изменения в любом запросе на смену предложения в команде: /teams/{id}/schedule/offerShiftRequests Квоты максимальной подписки:
  • Сочетание пути к приложению и ресурсу: 1 подписка на клиент.
  • На путь к ресурсу и сочетание пользователей: 10 делегированных подписок пользователей на клиент.
Teams Shifts openShiftChangeRequest Изменения в любом запросе на открытые смены в команде: /teams/{id}/schedule/openShiftChangeRequests Квоты максимальной подписки:
  • Сочетание пути к приложению и ресурсу: 1 подписка на клиент.
  • Для каждого пользователя и пути к ресурсу: 10 подписок.
  • На организацию: всего 10 000 подписок.
Смена "Смены" в Teams Изменения в любой смене в команде: /teams/{id}/schedule/shifts Квоты максимальной подписки:
  • Сочетание пути к приложению и ресурсу: 1 подписка на клиент.
  • Для каждого пользователя и пути к ресурсу: 10 подписок.
  • На организацию: всего 10 000 подписок.
Teams Shifts swapShiftsChangeRequest Изменения в любом запросе на смену переключения в команде: /teams/{id}/schedule/swapShiftsChangeRequests Квоты максимальной подписки:
  • Сочетание пути к приложению и ресурсу: 1 подписка на клиент.
  • Для каждого пользователя и пути к ресурсу: 10 подписок.
  • На организацию: всего 10 000 подписок.
Время смен TeamsOffRequest Изменения в любом запросе на отгул в команде: /teams/{id}/schedule/timeOffRequests Квоты максимальной подписки:
  • Сочетание пути к приложению и ресурсу: 1 подписка на клиент.
  • Для каждого пользователя и пути к ресурсу: 10 подписок.
  • На организацию: всего 10 000 подписок.
todoTask Изменения для всех задач в определенном списке задач: /me/todo/lists/{todoTaskListId}/tasks -
user Изменения для всех пользователей: /users

Изменения для конкретного пользователя: /users/{id}
Квоты максимальной подписки:
  • На приложение (для всех клиентов вместе взятых): 50 000 подписок.
  • На клиента (для всех приложений в сочетании): 1000 подписок во всех приложениях
  • На одно сочетание приложения и клиента: всего 100 подписок.


Не поддерживается для личных учетных записей Майкрософт, таких как outlook.com.

Не поддерживается для Azure AD клиентов B2C.

ПРИМЕЧАНИЕ: Создание и обратимое удаление пользователей также активируют updatedchangeType.

Примечание.

Многие ресурсы имеют ограничения или квоты на количество подписок, которые можно создать для этого ресурса. При превышении этого ограничения попытки создать подписку приведут к возникновению 403 Forbidden ошибки. Свойство message ответа об ошибке будет объяснять превышенное ограничение.

Некоторые из этих ресурсов поддерживают расширенные уведомления (уведомления с данными ресурсов). Подробные сведения см. в разделе Настройка уведомлений об изменениях, включающих данные ресурсов.

Примечание. Любой путь ресурса, начинающийся с /users/{id}, может принимать /me для указания вошедшего пользователя.