Créer un abonnement
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 .
S’abonne à une application d’écouteur afin de recevoir des notifications de modification lorsque le type demandé de modifications se produit au niveau de la ressource spécifiée dans Microsoft Graph.
Pour identifier les ressources pour lesquelles vous pouvez créer des abonnements et les limitations des abonnements, consultez Configurer des notifications pour les modifications apportées aux données de ressources : ressources prises en charge.
Certaines ressources prennent en charge les notifications enrichies, c’est-à-dire les notifications qui incluent des données de ressources. Pour plus d’informations sur ces ressources, consultez Configurer des notifications de modification qui incluent des données de ressource : Ressources prises en charge.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Autorisations
La création d’un abonnement nécessite une autorisation de lecture sur la ressource. Par exemple, pour obtenir des notifications de modification sur les messages, votre application a besoin des autorisations Mail.Read.
En fonction du type de ressource et d’autorisation(délégué ou application) demandé, l’autorisation spécifiée dans le tableau suivant est la moins requise privilégiée pour appeler cette API. Pour en savoir plus, notamment sur les mesures de prudence avant de choisir des autorisations, recherchez les autorisations dans Autorisations.
Remarque
- En raison de restrictions de sécurité, les abonnements Microsoft Graph ne prennent pas en charge les autorisations d’accès en écriture lorsque seules des autorisations d’accès en lecture sont nécessaires.
- Certaines ressources prennent en charge les notifications de modification dans plusieurs scénarios, chacun d’entre eux pouvant nécessiter des autorisations différentes. Dans ce cas, utilisez le chemin de la ressource pour différencier les scénarios.
Ressource prise en charge | Déléguée (compte professionnel ou scolaire) | Déléguée (compte Microsoft personnel) | Application |
---|---|---|---|
approvalItems | Non prise en charge. | Non prise en charge. | ApprovalSolution.ReadWrite.All |
callRecord | Non prise en charge. | Non prise en charge. | CallRecords.Read.All |
callRecording communications/onlineMeetings/getAllRecordings Tout enregistrement devient disponible dans le locataire. |
Non prise en charge. | Non prise en charge. | OnlineMeetingRecording.Read.All |
callRecording communications/onlineMeetings/{onlineMeetingId}/recordings Tout enregistrement devient disponible pour une réunion spécifique. |
OnlineMeetingRecording.Read.All | Non prise en charge. | OnlineMeetingRecording.Read.All |
callRecording users/{userId}/onlineMeetings/getAllRecordings Enregistrement d’appel qui devient disponible dans une réunion organisée par un utilisateur spécifique. |
OnlineMeetingRecording.Read.All | Non prise en charge. | OnlineMeetingRecording.Read.All |
callRecording appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings Enregistrement d’appel qui devient disponible dans une réunion où une application Teams particulière est installée. |
Non prise en charge. | Non prise en charge. | OnlineMeetingRecording.Read.All, OnlineMeetingRecording.Read.Chat |
callTranscript communications/onlineMeetings/getAllTranscripts Toute transcription devient disponible dans le locataire. |
Non prise en charge. | Non prise en charge. | OnlineMeetingTranscript.Read.All |
callTranscript communications/onlineMeetings/{onlineMeetingId}/transcripts Toute transcription devient disponible pour une réunion spécifique. |
OnlineMeetingTranscript.Read.All | Non prise en charge. | OnlineMeetingTranscript.Read.All |
callTranscript users/{userId}/onlineMeetings/getAllTranscripts Transcription d’appel qui devient disponible dans une réunion organisée par un utilisateur spécifique. |
OnlineMeetingTranscript.Read.All | Non prise en charge. | OnlineMeetingTranscript.Read.All |
callTranscript appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTranscripts Transcription d’appel qui devient disponible dans une réunion où une application Teams particulière est installée. |
Non prise en charge. | Non prise en charge. | OnlineMeetingTranscript.Read.All, OnlineMeetingTranscript.Read.Chat |
channel /teams/getAllChannels Tous les canaux d’une organisation. |
Non prise en charge. | Non prise en charge. | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All |
channel /teams/{id}/channels Tous les canaux d’une équipe particulière dans une organisation. |
Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All | Non prise en charge. | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All |
conversation /chats Toutes les conversations d’une organisation. |
Non prise en charge. | Non prise en charge. | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversation /chats/{id} Une conversation particulière. |
Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Non prise en charge. | ChatSettings.Read.Chat, ChatSettings.ReadWrite.Chat, Chat.Manage.Chat, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversation /appCatalogs/teamsApps/{id}/installedToChats Toutes les conversations dans une organisation où une application Teams particulière est installée. |
Non prise en charge. | Non prise en charge. | Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled |
conversation /users/{id}/chats Toutes les conversations dont un utilisateur particulier fait partie. |
Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Non prise en charge. | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
chatMessage /teams/{id}/channels/{id}/messages Tous les messages et réponses dans un canal particulier. |
ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All | Non prise en charge. | ChannelMessage.Read.Group, ChannelMessage.Read.All |
chatMessage /teams/getAllMessages Tous les messages de canal dans l’organisation. |
Non prise en charge. | Non prise en charge. | ChannelMessage.Read.All |
chatMessage /chats/{id}/messages Tous les messages d’une conversation. |
Chat.Read, Chat.ReadWrite | Non prise en charge. | Chat.Read.All |
chatMessage /chats/getAllMessages Tous les messages de conversation dans une organisation. |
Non prise en charge. | Non prise en charge. | Chat.Read.All |
chatMessage /users/{id}/chats/getAllMessages Messages de conversation pour toutes les conversations dont un utilisateur particulier fait partie. |
Chat.Read, Chat.ReadWrite | Non prise en charge. | Chat.Read.All, Chat.ReadWrite.All |
chatMessage /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages Messages de conversation pour toutes les conversations dans une organisation où une application Teams particulière est installée. |
Non prise en charge. | Non prise en charge. | Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled |
contact | Contacts.Read | Contacts.Read | Contacts.Read |
conversationMember /chats/getAllMembers Membres de toutes les conversations d’une organisation. |
Non prise en charge. | Non prise en charge. | ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversationMember /chats/{id}/members Membres d’une conversation particulière. |
ChatMember.Read, ChatMember.ReadWrite, Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Non prise en charge. | ChatMember.Read.Chat, Chat.Manage.Chat, ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversationMember /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers Membres de conversation pour toutes les conversations dans une organisation où une application Teams particulière est installée. |
Non prise en charge. | Non prise en charge. | ChatMember.Read.WhereInstalled, ChatMember.ReadWrite.WhereInstalled, Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled |
conversationMember /teams/getAllMembers Membres de toutes les équipes d’une organisation. |
Non prise en charge. | Non prise en charge. | TeamMember.Read.All, TeamMember.ReadWrite.All |
conversationMember /teams/{id}/members Membres d’une équipe particulière. |
TeamMember.Read.All | Non prise en charge. | TeamMember.Read.All |
conversationMember /teams/{id}/channels/getAllMembers Membres de tous les canaux privés d’une équipe particulière. |
Non prise en charge. | Non prise en charge. | ChannelMember.Read.All |
conversationMember /teams/getAllChannels/getAllMembers |
Non prise en charge. | Non prise en charge. | ChannelMember.Read.All |
driveItem(OneDrive personnel de l’utilisateur) | Non prise en charge. | Files.ReadWrite | Non prise en charge. |
driveItem (OneDrive professionnel ou scolaire) | Files.ReadWrite.All | Non prise en charge. | Files.ReadWrite.All |
event | Calendars.Read | Calendars.Read | Calendars.Read |
groupe | Group.Read.All | Non prise en charge. | Group.Read.All |
Conversation de groupe | Group.Read.All | Non prise en charge. | Non prise en charge. |
liste | Sites.ReadWrite.All | Non prise en charge. | Sites.ReadWrite.All |
message | Mail.ReadBasic, Mail.Read | Mail.ReadBasic, Mail.Read | Mail.Read |
offerShiftRequest /teams/{id}/schedule/offerShiftRequests Modifications apportées à toute demande de shift d’offre dans une équipe. |
Schedule.Read.All, Schedule.ReadWrite.All | Non prise en charge. | Schedule.Read.All, Schedule.ReadWrite.All |
onlineMeeting | Non prise en charge. | Non prise en charge. | OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All |
openShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests Modifications apportées à toute demande de shift ouverte dans une équipe. |
Schedule.Read.All, Schedule.ReadWrite.All | Non prise en charge. | Schedule.Read.All, Schedule.ReadWrite.All |
présence | Presence.Read.All | Non prise en charge. | Non prise en charge. |
imprimante | Non prise en charge. | Non prise en charge. | Printer.Read.All, Printer.ReadWrite.All |
printTaskDefinition | Non prise en charge. | Non prise en charge. | PrintTaskDefinition.ReadWrite.All |
alerte de sécurité | SecurityEvents.ReadWrite.All | Non prise en charge. | SecurityEvents.ReadWrite.All |
shift /teams/{id}/schedule/shifts Modifications apportées à n’importe quel changement dans une équipe. |
Schedule.Read.All, Schedule.ReadWrite.All | Non prise en charge. | Schedule.Read.All, Schedule.ReadWrite.All |
swapShiftsChangeRequest /teams/{id}/schedule/swapShiftsChangeRequests Modifications apportées à toute demande de shift d’échange dans une équipe. |
Schedule.Read.All, Schedule.ReadWrite.All | Non prise en charge. | Schedule.Read.All, Schedule.ReadWrite.All |
team /teams Toutes les équipes d’une organisation. |
Non prise en charge. | Non prise en charge. | Team.ReadBasic.All, TeamSettings.Read.All |
team /teams/{id} Une équipe particulière. |
Team.ReadBasic.All, TeamSettings.Read.All | Non prise en charge. | Team.ReadBasic.All, TeamSettings.Read.All |
timeOffRequest /teams/{id}/schedule/timeOffRequests Modifications apportées à toute demande de congé dans une équipe. |
Schedule.Read.All, Schedule.ReadWrite.All | Non prise en charge. | Schedule.Read.All, Schedule.ReadWrite.All |
todoTask | Tasks.ReadWrite | Tasks.ReadWrite | Non prise en charge. |
utilisateur | User.Read.All | User.Read.All | User.Read.All |
virtualEventWebinar | VirtualEvent.Read | Non prise en charge. | VirtualEvent.Read.All |
baseTask (déconseillé) | Tasks.ReadWrite | Tasks.ReadWrite | Non prise en charge. |
Remarque
Les autorisations suivantes utilisent le consentement spécifique à la ressource :
- OnlineMeetingRecording.Read.Chat
- OnlineMeetingTranscript.Read.Chat
- ChatSettings.Read.Chat
- ChatSettings.ReadWrite.Chat
- Chat.Manage.Chat
- ChannelMessage.Read.Group
- ChatMember.Read.Chat
chatMessage
Les abonnements chatMessage peuvent être spécifiés pour inclure des données de ressource. S’il est spécifié pour inclure des données de ressource (ncludeResourceData défini sur true
), le chiffrement est nécessaire. La création de l’abonnement échoue si un encryptionCertificate n’est pas spécifié pour ces abonnements.
Vous devez utiliser l’en-tête Prefer: include-unknown-enum-members
de requête pour obtenir les valeurs suivantes dans chatMessagemessageTypeevolvable enum : systemEventMessage
for /teams/{id}/channels/{id}/messages
et /chats/{id}/messages
resource.
Remarque
/teams/getAllMessages
, /chats/getAllMessages
, /me/chats/getAllMessages
, /users/{id}/chats/getAllMessages
et /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
sont des API limitées ; les modèles de paiement et les exigences de licence peuvent s’appliquer.
/teams/getAllMessages
et /chats/getAllMessages
prennent en charge à la fois les model=A
modèles de paiement et model=B
, /me/chats/getAllMessages
, /users/{id}/chats/getAllMessages
et /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
prennent uniquement model=B
en charge .
Si vous ne spécifiez pas de modèle de paiement dans votre requête, le mode d’évaluation par défaut est utilisé.
Remarque
Pour ajouter ou modifier un modèle de paiement pour une ressource abonnée d’une notification de modification, vous devez créer un abonnement aux notifications de modification avec le nouveau modèle de paiement . La mise à jour d’une notification de modification existante ne fonctionne pas.
conversationMember
Les abonnements conversationMember peuvent être spécifiés pour inclure des données de ressources. S’il est spécifié pour inclure des données de ressource (ncludeResourceData défini sur true
), le chiffrement est nécessaire. La création de l’abonnement échoue si un encryptionCertificate n’est pas spécifié.
Remarque
/teams/getAllMembers
, /chats/getAllMembers
et /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers
sont des API limitées ; les modèles de paiement et les exigences de licence peuvent s’appliquer.
/teams/getAllMembers
et /chats/getAllMembers
prennent en charge les model=A
modèles de paiement et .model=B
/appCatalogs/teamsApps/{id}/installedToChats/getAllMembers
prend uniquement model=B
en charge .
Si vous ne spécifiez pas de modèle de paiement dans votre requête, le mode d’évaluation par défaut est utilisé.
Remarque
Pour ajouter ou modifier un modèle de paiement pour une ressource abonnée d’une notification de modification, vous devez créer un abonnement aux notifications de modification avec le nouveau modèle de paiement . La mise à jour d’une notification de modification existante ne fonctionne pas.
équipe, canal et conversation
Les abonnements d’équipe, de canal et de conversation peuvent être spécifiés pour inclure des données de ressources. S’il est spécifié pour inclure des données de ressource (ncludeResourceData défini sur true
), le chiffrement est nécessaire. La création de l’abonnement échoue si un encryptionCertificate n’est pas spécifié.
Vous pouvez utiliser le paramètre de chaîne de requête notifyOnUserSpecificProperties lorsque vous vous abonnez à des modifications dans une conversation particulière ou au niveau de l’utilisateur. Lorsque vous définissez le paramètre de chaîne de requête notifyOnUserSpecificPropertiestrue
sur lors de la création de l’abonnement, deux types de charges utiles sont envoyés à l’abonné. Un type contient des propriétés spécifiques à l’utilisateur, et l’autre est envoyé sans elles. Pour plus d’informations, consultez Obtenir des notifications de modification pour les conversations à l’aide de Microsoft Graph.
Remarque
/appCatalogs/teamsApps/{id}/installedToChats
a des exigences de licence et de paiement, en particulier prenant en charge uniquement model=B
.
Si aucun modèle n’est spécifié, le mode d’évaluation sera utilisé.
Remarque
Pour ajouter ou modifier un modèle de paiement pour une ressource abonnée d’une notification de modification, vous devez créer un abonnement aux notifications de modification avec le nouveau modèle de paiement . La mise à jour d’une notification de modification existante ne fonctionne pas.
Exemple de requête
Spécifiez model
le paramètre de requête dans la propriété de ressource dans le corps de la requête.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"resource": "chats/getAllMessages?model=A",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"clientState": "secretClientValue",
"latestSupportedTlsVersion": "v1_2"
}
driveItem
D’autres limitations s’appliquent aux abonnements sur les éléments OneDrive. Les limitations s’appliquent à la création, ainsi que de la gestion des abonnements (prise, la mise à jour et suppression d’abonnements).
Sur un OneDrive personnel, vous pouvez vous abonner au dossier racine ou à tout sous-dossier de ce lecteur. Sur OneDrive professionnel ou scolaire, vous pouvez vous abonner uniquement au dossier racine. Des notifications de modification sont envoyées pour les modifications demandées sur le dossier abonné ou sur n’importe quel fichier, dossier ou autre instance driveItem dans sa hiérarchie. Vous ne pouvez pas vous abonner à des instances drive ou driveItem qui ne sont pas des dossiers, tels que des fichiers individuels.
OneDrive pour les professionnels ou les établissements scolaires et SharePoint prennent en charge l’envoi de notifications de votre application concernant les événements de sécurité qui se produisent sur un driveItem. Pour vous abonner à ces événements, ajoutez l’en-tête prefer:includesecuritywebhooks
à votre demande de création d’abonnement. Une fois l’abonnement créé, vous recevez des notifications lorsque les autorisations sur un élément changent. Cet en-tête s’applique à SharePoint et OneDrive pour les comptes OneDrive professionnels ou scolaires, mais pas aux comptes OneDrive grand public.
contact, événement et message
Vous pouvez vous abonner aux modifications apportées aux ressources de contact, d’événement ou de message Outlook et éventuellement spécifier dans la charge utile de la requête POST s’il faut inclure des données de ressources chiffrées dans les notifications.
La création et la gestion (obtention, mise à jour et suppression) d’un abonnement nécessitent une étendue de lecture de la ressource. Par exemple, pour recevoir des notifications de modification sur les messages, votre application a besoin de l’autorisation Mail Read. Les notifications de modification Outlook prennent en charge les étendues d’autorisation déléguées et d’application. Notez les limitations suivantes :
L’autorisation déléguée permet de s'abonner à des articles dans des dossiers qui se trouvent uniquement dans la boîte aux lettres de l'utilisateur connecté. Par exemple, vous ne pouvez pas utiliser l’autorisation déléguée Calendars.Read pour vous abonner à des événements dans la boîte aux lettres d’un autre utilisateur.
Pour vous abonner afin de modifier les notifications de contacts, d’événements ou de messages dans Outlook dans dossierspartagés ou délégués:
- Permet de s’abonner aux modifications d’éléments dans un dossier ou une boîte aux lettres de l’autorisation d’application correspondante n’importe quel utilisateur dans le client.
- N’utilisez pas les autorisations de partage Outlook (Contacts.Read.Shared, Calendars.Read.Shared, Mail.Read.Shared et leurs équivalents en lecture/écriture), car elles ne prennent pas en charge l’abonnement aux notifications de modification sur les éléments des dossiers partagés ou délégués.
onlineMeetings, presence
Les abonnements sur onlineMeetings et présence nécessitent les propriétés encryptionCertificate et encryptionCertificateId lors de la création d’un abonnement pour les notifications avec des données de ressources chiffrées. Pour plus d’informations, consultez Configuration des notifications de modification pour inclure des données de ressources. Pour plus d’informations sur les abonnements aux réunions en ligne, consultez Obtenir des notifications de modification pour les réunions en ligne.
virtualEventWebinar
Les abonnements aux événements virtuels prennent uniquement en charge les notifications de base et sont limités à quelques entités d’un événement virtuel. Pour plus d’informations sur les types d’abonnements pris en charge, consultez Obtenir des notifications de modification pour les mises à jour d’événements virtuels Microsoft Teams.
Requête HTTP
POST /subscriptions
En-têtes de demande
Nom | Type | Description |
---|---|---|
Autorisation | string | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Corps de la demande
Dans le corps de la demande, fournissons une représentation JSON de l’objet d’abonnement.
Réponse
Si elle réussit, cette méthode renvoie un 201 Created
code de réponse et un objet d’abonnement dans le corps de la réponse.
Pour plus d’informations sur le retour des erreurs, voir Réponses aux erreurs.
Exemple
Demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet abonnement.
Les champs clientState
et latestSupportedTlsVersion
sont facultatifs.
Cette demande crée un abonnement pour les notifications de modification concernant les nouveaux messages reçus par l’utilisateur actuellement connecté.
POST https://graph.microsoft.com/beta/subscriptions
Content-type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"resource": "me/mailFolders('Inbox')/messages",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"clientState": "secretClientValue",
"latestSupportedTlsVersion": "v1_2"
}
Dans le corps de la demande, fournissez une représentation JSON de l’objet abonnement.
Les champs clientState
et latestSupportedTlsVersion
sont facultatifs.
Comportement de l’abonnement en double
Les abonnements en double ne sont pas autorisés. Lorsqu’une demande d’abonnement contient les mêmes valeurs pour changeType et resource qu’un abonnement existant, la requête échoue avec un code 409 Conflict
d’erreur HTTP et le message Subscription Id <> already exists for the requested combination
d’erreur .
Exemples de ressources
Les valeurs suivantes sont valides pour la propriété de ressource.
Type de ressource | Exemples |
---|---|
approvalItems | solution/approval/approvalItems |
callRecord | communications/callRecords |
callRecording |
communications/onlineMeetings/getAllRecordings , communications/onlineMeetings/{onlineMeetingId}/recordings , users/{userId}/onlineMeetings/getAllRecordings , appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings |
callTranscript |
communications/onlineMeetings/getAllTranscripts , communications/onlineMeetings/{onlineMeetingId}/transcripts , users/{userId}/onlineMeetings/getAllTranscripts , appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTranscripts |
channel |
/teams/getAllChannels , /teams/{id}/channels |
conversation |
/chats , /chats/{id} |
chatMessage |
chats/{id}/messages , chats/getAllMessages , teams/{id}/channels/{id}/messages , teams/getAllMessages |
contact | me/contacts |
conversationMember |
/chats/{id}/members , /chats/getAllMembers , /teams/{id}/members , /teams/getAllMembers , /teams/{id}/channels/getAllMembers |
driveItem | me/drive/root |
event | me/events |
groupe | groups |
Conversation de groupe | groups('{id}')/conversations |
list | sites/{site-id}/lists/{list-id} |
message |
me/mailfolders('inbox')/messages , me/messages |
onlineMeeting | /communications/onlineMeetings/?$filter=JoinWebUrl eq '{JoinWebUrl}' |
présence |
/communications/presences/{id} (utilisateur unique), /communications/presences?$filter=id in ('{id}','{id}',…) (plusieurs utilisateurs) |
imprimante | print/printers/{id}/jobs |
printTaskDefinition | print/taskDefinitions/{id}/tasks |
équipe |
/teams , /teams/{id} |
utilisateur | users |
todoTask | /me/todo/lists/{todoTaskListId}/tasks |
alerte de sécurité | security/alerts?$filter=status eq 'NewAlert' |
baseTask (déconseillé) | /me/tasks/lists/{Id}/tasks |
Remarque
Tout chemin commençant par me
peut également être utilisé avec users/{id}
au lieu de me
pour cibler un utilisateur spécifique au lieu de l’utilisateur actuel.
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#subscriptions/$entity",
"id": "7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
"resource": "me/mailFolders('Inbox')/messages",
"applicationId": "24d3b144-21ae-4080-943f-7067b395b913",
"changeType": "created",
"clientState": "secretClientValue",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"expirationDateTime": "2016-11-20T18:23:45.9356913Z",
"creatorId": "8ee44408-0679-472c-bc2a-692812af3437",
"latestSupportedTlsVersion": "v1_2",
"notificationContentType": "application/json"
}
Validation du point de terminaison de notification
Le point de terminaison de notification d’abonnement (spécifié dans la propriété notificationUrl ) doit être en mesure de répondre à une demande de validation, comme décrit dans Configurer les notifications pour les modifications apportées aux données utilisateur. Si la validation échoue, la demande pour créer l’abonnement renvoie une erreur 400 de Requête incorrecte.