Utilisez l’API Graph de Microsoft pour obtenir les notifications de modification

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Attention

Les applications existantes qui utilisent cette fonctionnalité avec baseTask ou baseTaskList doivent être mises à jour, car l’ensemble d’API To-Do basé sur ces ressources est déconseillé depuis le 31 mai 2022. Cet ensemble d'API cessera de renvoyer des données le 31 août 2022. Veuillez utiliser l’ensemble d’API basé sur todoTask.

L’API REST Microsoft Graph peut fournir des notifications de modification aux clients via différents points de terminaison, notamment les webhooks, Event Hubs et Event Grid. Pour savoir comment vous abonner et recevoir des notifications pour votre application, voir Configurer des notifications pour les modifications apportées aux données utilisateur.

Une application peut s’abonner aux modifications apportées aux ressources Microsoft Graph répertoriées dans le tableau. Les abonnements aux ressources marquées d’un astérisque (*) ne sont disponibles que sur le point de /beta terminaison.

Remarque

Pour les ressources Microsoft Teams, la limite par organisation de 10 000 abonnements au total est partagée de manière cumulative entre tous les abonnements aux notifications de modification Teams dans le locataire. Cela inclut les abonnements créés pour différentes ressources Teams, telles que les conversations, les messages instantanés, les transcriptions d’appels, les enregistrements d’appels, les canaux, les équipes et les membres de conversations, qui sont tous pris en compte dans le même quota organisationnel. Lorsque le nombre combiné d’abonnements Teams actifs atteint cette limite, toute demande de création d’abonnement supplémentaire pour une ressource Teams échoue avec une 403 Forbidden erreur.

Resource Chemins de ressource pris en charge Limitations
Imprimante pour impression cloud Modifications lorsqu’une tâche d’impression est prête à être téléchargée (événement jobFetchable) : /print/printers/{id}/jobs -
Impression Cloud printTaskDefinition Modifications lorsqu’il y a une tâche valide dans la file d’attente (événement jobStarted) : /print/printtaskdefinition/{id}/tasks -
Copilot aiInsights Informations sur l’IA Copilot des réunions auxquelles un utilisateur particulier participe : /copilot/users/{userId}/onlineMeetings/getAllAiInsights

Informations sur l’IA Copilot pour une réunion particulière : /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights
Quotas d’abonnement maximum pour AI Insights dans toutes les réunions pour un utilisateur :
  • Par combinaison application-utilisateur : 1
  • Par utilisateur (délégué) : 10
  • Par organisation : 10 000 abonnements au total.


Quotas d’abonnement maximum pour les insights IA d’une réunion spécifique :
  • Par combinaison application, utilisateur + réunion : 1
  • Par combinaison utilisateur-réunion (déléguée) : 1
  • Par organisation : 10 000 abonnements au total (partagés)
Copilot aiInteraction Interactions Copilot AI dont un utilisateur particulier fait partie : copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions

Interactions Copilot AI dans une organisation :copilot/interactionHistory/getAllEnterpriseInteractions
Quotas maximaux d'abonnement :
  • Par combinaison application-client (pour les abonnements effectuant le suivi des interactions d’IA au sein d’un client) : 1
  • Par combinaison application-utilisateur (pour les abonnements qui suivent les interactions d’IA dont un utilisateur particulier fait partie) : 1
  • Par utilisateur (pour les abonnements effectuant le suivi des interactions avec l’IA dont un utilisateur particulier fait partie) : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
driveItem sur OneDrive (personnel) Modifications apportées au contenu dans la hiérarchie de n’importe quel dossier : /users/{id}/drive/root -
driveItem sur OneDrive professionnel ou scolaire Modifications apportées au contenu dans la hiérarchie du dossier racine : /drives/{id}/root , /users/{id}/drive/root -
groupe Modifications apportées à tous les groupes : /groups

Modifications apportées à un groupe spécifique : /groups/{id}

Modifications apportées aux propriétaires d’un groupe spécifique : /groups/{id}/owners

Modifications apportées aux membres d’un groupe spécifique : /groups/{id}/members
Quotas maximaux d'abonnement :
  • Par application (tous clients confondus) : 50 000 abonnements au total.
  • Par locataire (toutes applications confondues) : 1 000 abonnements au total pour toutes les applications.
  • Par combinaison application-client : 100 abonnements au total.


Non pris en charge pour les locataires Azure AD B2C.

REMARQUE : La création et la suppression réversible de groupes déclenchent également le updatedchangeType.
Alerte de surveillance de l’intégrité de Microsoft Entra Modifications apportées à toutes les alertes de surveillance de l’intégrité : /reports/healthmonitoring/alerts

Modifications apportées à un type d’alerte spécifique : /reports/healthmonitoring/alert avec la propriété de la notificationQueryOptions charge utile de la requête définie comme $filter=alertType eq '{alertType}'
-
Une liste sous un site SharePoint Modifications apportées au contenu de la liste : /sites/{site-id}/lists/{list-id} -
Conversation de groupe Microsoft 365 Modifications apportées aux conversations d’un groupe : groups/{id}/conversations -
message Outlook Modifications apportées à tous les messages dans la boîte aux lettres d’un utilisateur : /users/{id}/messages , /me/messages

Modifications apportées aux messages dans la boîte de réception d’un utilisateur : /users/{id}/mailFolders('inbox')/messages , /me/mailFolders('inbox')/messages
Un maximum de 1 000 abonnements actifs par boîte aux lettres pour toutes les applications est autorisé.
événement Outlook Modifications apportées à tous les événements dans la boîte aux lettres d’un utilisateur : /users/{id}/events , /me/events Un maximum de 1 000 abonnements actifs par boîte aux lettres pour toutes les applications est autorisé.
contact personnel Outlook Modifications apportées à tous les contacts personnels dans la boîte aux lettres d’un utilisateur : /users/{id}/contacts , /me/contacts Un maximum de 1 000 abonnements actifs par boîte aux lettres pour toutes les applications est autorisé.
Alerte de sécurité Modifications apportées à une alerte spécifique : /security/alerts/{id}

Modifications apportées aux alertes filtrées : /security/alerts/?$filter={parameters}
Pour plus d’informations, consultez Alertes de l’API de sécurité.
Approbations Teams Modifications apportées à toutes les approbations d’un client : /solutions/approval/approvalItems Quotas maximaux d'abonnement :
  • Par locataire (toutes applications combinées) : 1000 abonnements au total pour toutes les applications
  • Par combinaison application-client : 1 abonnement.
Teams callRecord Modifications apportées à tous les enregistrements d’appels : /communications/callRecords

Modifications apportées aux enregistrements d’appels filtrés : /communications/callRecords?$filter={parameters}
Pour plus d’informations, voir Modifier les notifications pour les enregistrements d’appel.

Quotas maximaux d'abonnement :
  • Par organisation : 100 abonnements au total.


REMARQUE : La création d’enregistrements d’appels déclenche également le updatedchangeType.
Teams callRecording Tous les enregistrements d’une organisation :communications/onlineMeetings/getAllRecordings

Tous les enregistrements d’une réunion spécifique : communications/onlineMeetings/{onlineMeetingId}/recordings

Un enregistrement d’appel qui devient disponible dans une réunion organisée par un utilisateur spécifique : users/{id}/onlineMeetings/getAllRecordings

Un enregistrement d’appel qui devient disponible dans une réunion où une application Teams particulière est installée : appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings *
Quotas maximaux d'abonnement :
  • Par combinaison application-réunion en ligne : 1
  • Par combinaison application-utilisateur : 1
  • Par utilisateur (pour les abonnements effectuant le suivi des enregistrements dans toutes les réunions en ligne organisées par l’utilisateur) : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Teams callTranscript Toutes les transcriptions d’une organisation :communications/onlineMeetings/getAllTranscripts

Toutes les transcriptions d’une réunion spécifique : communications/onlineMeetings/{onlineMeetingId}/transcripts

Une transcription d’appel qui devient disponible dans une réunion organisée par un utilisateur spécifique : users/{id}/onlineMeetings/getAllTranscripts

Une transcription d’appel qui devient disponible dans une réunion dans laquelle une application Teams particulière est installée : appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts *
Quotas maximaux d'abonnement :
  • Par combinaison application-réunion en ligne : 1
  • Par combinaison application-utilisateur : 1
  • Par utilisateur (pour les abonnements effectuant le suivi des transcriptions dans toutes les réunions en ligne organisées par l’utilisateur) : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Conversation Teams Modifications apportées à n’importe quelle conversation dans le client : /chats

Modifications apportées à une conversation spécifique : /chats/{id}

Modifications apportées à une conversation spécifique avec le paramètre de requête notifyOnUserSpecificProperties : /chats/{id}?notifyOnUserSpecificProperties={Boolean}

Modifications apportées à toutes les conversations dans une organisation dans laquelle une application Teams particulière est installée :/appCatalogs/teamsApps/{id}/installedToChats

Modifications apportées à toutes les conversations dont un utilisateur particulier fait partie : /users/{id}/chats

Modifications apportées à toutes les conversations auxquelles un utilisateur particulier participe avec le paramètre de requête notifyOnUserSpecificProperties : /users/{id}/chats?notifyOnUserSpecificProperties={Boolean}
Quotas maximaux d'abonnement :
  • Par combinaison d’application et de conversation : 1 abonnement.
  • Par organisation : 10 000 abonnements au total.
  • Par utilisateur (pour les abonnements qui suivent toutes les conversations auxquelles un utilisateur particulier participe) : 10 abonnements.
chatmessage Teams Modifications apportées aux messages de conversation dans tous les canaux de toutes les équipes : /teams/getAllMessages

Modifications apportées aux messages de conversation dans un canal spécifique : /teams/{id}/channels/{id}/messages

Modifications apportées aux messages de conversation dans toutes les conversations : /chats/getAllMessages

Modifications apportées aux messages de conversation dans une conversation spécifique : /chats/{id}/messages

Modifications apportées aux messages de conversation dans toutes les conversations dont un utilisateur particulier fait partie : /users/{id}/chats/getAllMessages

Modifications apportées aux messages de conversation pour toutes les conversations d’une organisation dans laquelle une application Teams particulière est installée :/appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
Quotas maximaux d'abonnement :
  • Par combinaison d’application, de canal ou de conversation : 1 abonnement.
  • Par utilisateur (pour les abonnements qui suivent les messages de conversation dans toutes les conversations dont l’utilisateur fait partie) : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Canal Teams Modifications apportées aux canaux dans toutes les équipes : /teams/getAllChannels

Modifications apportées au canal dans une équipe spécifique : /teams/{id}/channels
Quotas maximaux d'abonnement :
  • Par combinaison application-équipe : 1 abonnement.
  • Par organisation : 10 000 abonnements au total.
conversationMember Teams Modifications apportées à l’appartenance à une équipe spécifique : /teams/{id}/members

Modifications apportées à l’appartenance dans tous les canaux sous une équipe spécifique : teams/{id}/channels/getAllMembers

Modifications apportées à l’appartenance à une conversation spécifique : /chats/{id}/members

Modifications apportées à l’appartenance pour toutes les conversations dans une organisation dans laquelle une application Teams particulière est installée :/appCatalogs/teamsApps/{id}/installedToChats/getAllMembers

Modifications apportées à l’appartenance à toutes les conversations : /chats/getAllMembers
Quotas maximaux d'abonnement :
  • Par combinaison application-équipe : 1 abonnement.
  • Par organisation : 10 000 abonnements au total.
Teams onlineMeeting* Modifications apportées à une réunion en ligne : /communications/onlineMeetings(joinWebUrl='{encodedJoinWebUrl}')/meetingCallEvents Ne prend pas en charge l’utilisation $select pour retourner uniquement les propriétés sélectionnées. La notification enrichie se compose de toutes les propriétés de l’instance modifiée. Un abonnement autorisé par candidature et par réunion en ligne. Pour plus d’informations, consultez Obtenir des notifications de modification pour les mises à jour d’événements d’appel de réunion Microsoft Teams.
présenceTeams Modifications apportées à la présence d’un seul utilisateur : /communications/presences/{id}

Modifications apportées à la présence de plusieurs utilisateurs : /communications/presences?$filter=id in ({id},{id}...)
L’abonnement pour la présence de plusieurs utilisateurs est limité à 650 utilisateurs distincts. Ne prend pas en charge l’utilisation $select pour retourner uniquement les propriétés sélectionnées. La notification enrichie se compose de toutes les propriétés de l’instance modifiée. Un abonnement autorisé par application et par utilisateur délégué. Pour plus d’informations, consultez Obtenir des notifications de modification pour les mises à jour de présence dans Microsoft Teams.
Équipe Teams Modifications apportées à une équipe du client : /teams

Modifications apportées à une équipe spécifique : /teams/{id}
Quotas maximaux d'abonnement :
  • Par combinaison application-équipe : 1 abonnement.
  • Par organisation : 10 000 abonnements au total.
Teams Shifts offerShiftRequest Modifications apportées à une demande de shift d’offre dans une équipe : /teams/{id}/schedule/offerShiftRequests Quotas maximaux d'abonnement :
  • Par combinaison de chemin d’accès à l’application et à la ressource : 1 abonnement par locataire.
  • Par chemin de ressource et combinaison d’utilisateurs : 10 abonnements utilisateur délégué par client.
Teams Shifts openShiftChangeRequest Modifications apportées à toute demande de shift ouvert dans une équipe : /teams/{id}/schedule/openShiftChangeRequests Quotas maximaux d'abonnement :
  • Par combinaison de chemin d’accès à l’application et à la ressource : 1 abonnement par locataire.
  • Par combinaison de chemin d’accès utilisateur et ressource : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Teams Shifts Modifications apportées à n’importe quel quart de travail dans une équipe : /teams/{id}/schedule/shifts Quotas maximaux d'abonnement :
  • Par combinaison de chemin d’accès à l’application et à la ressource : 1 abonnement par locataire.
  • Par combinaison de chemin d’accès utilisateur et ressource : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Teams Shifts swapShiftsChangeRequest Modifications apportées à une demande de changement de shift dans une équipe : /teams/{id}/schedule/swapShiftsChangeRequests Quotas maximaux d'abonnement :
  • Par combinaison de chemin d’accès à l’application et à la ressource : 1 abonnement par locataire.
  • Par combinaison de chemin d’accès utilisateur et ressource : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
Teams Shifts timeOffRequest Modifications apportées à toute demande de congé dans une équipe : /teams/{id}/schedule/timeOffRequests Quotas maximaux d'abonnement :
  • Par combinaison de chemin d’accès à l’application et à la ressource : 1 abonnement par locataire.
  • Par combinaison de chemin d’accès utilisateur et ressource : 10 abonnements.
  • Par organisation : 10 000 abonnements au total.
todoTask Modifications apportées à toutes les tâches d’une liste de tâches spécifique : /me/todo/lists/{todoTaskListId}/tasks -
utilisateur Modifications pour tous les utilisateurs : /users

Modifications apportées à un utilisateur spécifique : /users/{id}
Quotas maximaux d'abonnement :
  • Par application (tous clients confondus) : 50 000 abonnements au total.
  • Par locataire (toutes applications confondues) : 1 000 abonnements au total pour toutes les applications
  • Par combinaison application-client : 100 abonnements au total.


Non pris en charge pour les comptes Microsoft personnels comme outlook.com.

Non pris en charge pour les locataires Azure AD B2C.

REMARQUE : La création et la suppression réversible d’utilisateurs déclenchent également le updatedchangeType.

Remarque

De nombreuses ressources ont des limites ou des quotas quant au nombre d’abonnements pouvant être effectués pour cette ressource. En cas de dépassement de cette limite, les tentatives de création d’abonnement entraînent une 403 Forbidden réponse d’erreur. La propriété de message de la réponse d’erreur explique la limite qui a été dépassée.

Certaines de ces ressources prennent en charge les notifications enrichies (notifications avec des données de ressource). Pour leurs détails, consultez Configurer des notifications de modification qui incluent des données de ressource.

Remarque : les chemins d’accès aux ressources qui commencent par /users/{id} peuvent également accepter /me pour référencer l’utilisateur connecté.

Autorisations

En règle générale, les opérations d’abonnement nécessitent l’autorisation d’accès en lecture à la ressource. Par exemple, pour recevoir des notifications pour les messages, votre application requiert l’autorisation Mail.Read. L’article create subscription répertorie les autorisations nécessaires pour chaque type de ressource. Le tableau suivant répertorie les types d’autorisations que votre application peut demander pour utiliser des Webhooks pour des types de ressources spécifiques.

Type d’autorisation Types de ressources pris en charge
Délégué : compte professionnel ou scolaire aiInsights, aiInteraction, alert, callRecording, callTranscript, channel, chat, chatMessage (préversion), contact, conversation, conversationMember, driveItem, événement, groupe, liste, message, offerShiftRequest, openShiftChangeRequest, présence, shift, swapShiftsChangeRequest, team, timeOffRequest, todoTask, user, baseTask (déconseillé)
Délégué : compte Microsoft personnel contact, driveItem, event, list, message, todoTask, baseTask (déconseillé)
Application aiInsights, aiInteraction, alert, callRecord, approvals, callRecording, callTranscript, channel, chat, chatMessage, contact, conversationMember, driveItem, événement, groupe, liste, message, offerShiftRequest, onlineMeeting, openShiftChangeRequest, imprimante, printTaskDefinition, shift, swapShiftsChangeRequest, team, timeOffRequest, user