Obtenir un abonnement
Espace de noms: microsoft.graph
Récupérer les propriétés et les relations d’un abonnement.
Consultez le tableau dans la section Autorisations pour la liste des ressources qui prennent en change l’abonnement aux notifications de modification.
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
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 plus privilégiées, recherchez ces autorisations dans Autorisations.
Ressource prise en charge | Déléguée (compte professionnel ou scolaire) | Déléguée (compte Microsoft personnel) | Application |
---|---|---|---|
callRecord | Non pris en charge | Non pris en charge | CallRecords.Read.All |
callRecording communications/onlineMeetings/getAllRecordings Tous les enregistrements d’une organisation. |
Non prise en charge. | Non prise en charge. | OnlineMeetingRecording.Read.All |
callRecording communications/onlineMeetings/{onlineMeetingId}/recordings Tous les enregistrements d’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 |
callTranscript communications/onlineMeetings/getAllTranscripts Toutes les transcriptions d’une organisation. |
Non prise en charge. | Non prise en charge. | OnlineMeetingTranscript.Read.All |
callTranscript communications/onlineMeetings/{onlineMeetingId}/transcripts Toutes les transcriptions d’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 |
canal (/teams/getAllChannels : tous les canaux d'une organisation) | Non pris en charge | Non pris en charge | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All |
canal (/teams/{id}/channels) | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All | Non pris en charge | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All |
chat (/conversations : toutes les conversations d’une organisation) | Non pris en charge | Non pris en charge | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
chat (/chats/{id}) | Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Non pris 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 pris en charge | Non pris en charge | Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled |
chatMessage (/teams/{id}/channels/{id}/messages) | ChannelMessage.Read.All | Non pris en charge | ChannelMessage.Read.Group*, ChannelMessage.Read.All |
chatMessage (/teams/getAllMessages--tous les messages de canal dans l’organisation) | Non pris en charge | Non pris en charge | ChannelMessage.Read.All |
chatMessage (/chats/{id}/messages) | Non pris en charge | Non pris en charge | Chat.Read.All |
chatMessage (/teams/getAllMessages--tous les messages de canal dans l’organisation) | Non pris en charge | Non pris en charge | Chat.Read.All |
chatMessage (/users/{id}/chats/getAllMessages : messages de conversation pour toutes les conversations dont fait partie un utilisateur particulier) | Chat.Read, Chat.ReadWrite | Non pris 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) | Non pris en charge | Non pris en charge | ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversationMember (/chats/{id}/members) | ChatMember.Read, ChatMember.ReadWrite, Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Non pris 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 pris en charge | Non pris en charge | ChatMember.Read.WhereInstalled, ChatMember.ReadWrite.WhereInstalled, Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled |
conversationMember (/teams/{id}/members) | TeamMember.Read.All | Non pris en charge | TeamMember.Read.All |
conversationMember (/teams/{id}/channels/getAllMembers) | Non pris en charge | Non pris en charge | ChannelMember.Read.All |
driveItem(OneDrive personnel de l’utilisateur) | Non pris en charge | Files.ReadWrite | Non pris en charge |
driveItem(Microsoft OneDrive Entreprise) | Files.ReadWrite.All | Non pris en charge | Files.ReadWrite.All |
event | Calendars.Read | Calendars.Read | Calendars.Read |
groupe | Group.Read.All | Non pris en charge | Group.Read.All |
Conversation de groupe | Group.Read.All | Non pris en charge | Non pris en charge |
liste | Sites.ReadWrite.All | Non pris 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 |
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 |
imprimante | Non pris en charge | Non pris en charge | Printer.Read.All, Printer.ReadWrite.All |
printTaskDefinition | Non pris en charge | Non pris en charge | PrintTaskDefinition.ReadWrite.All |
alerte de sécurité | SecurityEvents.ReadWrite.All | Non pris 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 |
teams (/teams : toutes les équipes d'une organisation) | Non prise en charge. | Non prise en charge. | Team.ReadBasic.All, TeamSettings.Read.All |
équipe (/teams/{id}) | 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 pris en charge | Schedule.Read.All, Schedule.ReadWrite.All |
todoTask | Tasks.ReadWrite | Tasks.ReadWrite | Non pris en charge |
utilisateur | User.Read.All | User.Read.All | User.Read.All |
virtualEventWebinar | VirtualEvent.Read | Non prise en charge. | VirtualEvent.Read.All |
Remarque : les autorisations marquées d’un astérisque (*) utilisent une autorisation propre aux ressources.
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
Des limitations supplémentaires 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 pour les entreprises, vous pouvez vous abonner uniquement au dossier racine. Les notifications de modification sont envoyées pour les types demandés de modifications sur le dossier concerné, ou n’importe quel fichier ou dossier, ou d’autres instances driveItem dans leur hiérarchie. Vous ne pouvez pas vous abonner à des instances drive ou driveItem qui ne sont pas des dossiers, tels que des fichiers individuels.
contact, événement et message
Vous pouvez vous abonner aux modifications apportées aux ressources decontact, d’événements, ou de messages d’Outlook.
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.
présence
Les abonnements en présence nécessitent un chiffrement pour les notifications qui incluent des données de ressources. La création de l’abonnement échoue si encryptionCertificate et encryptionCertificateId ne sont pas spécifiés lorsque les notifications doivent inclure des données de ressources. Pour plus d’informations sur les abonnements de présence, consultez Obtenir des notifications de modification pour les mises à jour de présence dans Microsoft Teams.
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
GET /subscriptions/{id}
Paramètres facultatifs de la requête
Cette méthode prend en charge les paramètres de requête OData pour vous aider à personnaliser la réponse.
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
N’indiquez pas le corps de la demande pour cette méthode.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK
et un objet abonnement dans le corps de la réponse.
Exemple
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/subscriptions/{id}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
{
"id":"7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
"resource":"me/messages",
"applicationId" : "string",
"changeType":"created,updated",
"clientState":"secretClientValue",
"notificationUrl":"https://webhook.azurewebsites.net/api/send/myNotifyClient",
"lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"creatorId": "string",
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": "",
"encryptionCertificateId": "",
"includeResourceData": false,
"notificationContentType": "application/json"
}