Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les notifications de modification dans Microsoft Graph prennent en charge les abonnements aux événements virtuels. Les notifications de modification fournissent un modèle à faible latence en vous permettant de gérer un webhook pour les événements virtuels Microsoft Teams. Les abonnements aux événements virtuels ont une période maximale d’un jour. Pour prolonger la durée de vie d’un abonnement, celui-ci doit être renouvelé avant la période d’expiration. Un utilisateur peut également décider de créer un abonnement pour la ressource après l’expiration d’un abonnement existant. Pour plus d’informations, consultez Utiliser microsoft API Graph pour obtenir des notifications de modification.
Autorisations
| Type d’autorisation | Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins) | Versions prises en charge |
|---|---|---|
| Déléguée (compte professionnel ou scolaire) | VirtualEvent.Read, VirtualEvent.ReadWrite | v1.0, bêta |
| Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
| Application | VirtualEvent.Read.All | v1.0, bêta |
Événements virtuels pouvant être souscrits
Le tableau suivant fournit un résumé des types d’événements virtuels pouvant être souscrits, des URL de ressource utilisées dans la charge utile de l’abonnement et des types de modifications pris en charge pour l’abonnement aux notifications.
| Types d’événements virtuels | URL de ressource | Types de modifications pris en charge | Types d’autorisation pris en charge |
|---|---|---|---|
| Tous les événements (au niveau du locataire) | solutions/virtualEvents/events |
créé | Application |
| Tous les événements (au niveau du locataire par ID d’organisateur/co-organisateur) | solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']) |
créé | Application |
| Événements d’un webinaire spécifique | solutions/virtualEvents/webinars/{webinarId} |
Actualisé | Application, déléguée |
| Événements prêts pour les rapports de présence pour un webinaire | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
créé | Application, déléguée |
| Événements de session d’un **webinaire ** | solutions/virtualEvents/webinars/{webinarId}/sessions |
créé, mis à jour | Application, déléguée |
| Événements d’inscription d’un webinaire | solutions/virtualEvents/webinars/{webinarId}/registrations |
créé, mis à jour | Application, déléguée |
| Les événements d’une mairie spécifique | solutions/virtualEvents/townhalls/{townhallId} |
Actualisé | Application, déléguée |
| Rapport de présence des événements prêts pour une mairie | solutions/virtualEvents/townhalls/{townhallId}/getAttendanceReports |
créé | Application, déléguée |
| Les événements de session d’une mairie spécifique | solutions/virtualEvents/townhalls/{townhallId}/sessions |
créé, mis à jour | Application, déléguée |
| Publication prête pour la vidéo à la demande | solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication |
Actualisé | Application, déléguée |
S’abonner à tous les événements créés dans un locataire
Vous pouvez spécifier des abonnements pour tous les événements d’une application et d’un locataire uniques dans la charge utile de l’abonnement à l’aide de la syntaxe suivante : solutions/virtualEvents/events. L’abonnement désigne l’URL de notification pour recevoir toutes les notifications créées par un événement dans un locataire pour les événements virtuels. Seules les notifications créées par un événement sont prises en charge pour cet abonnement. Un locataire ne peut avoir qu’un seul type d’abonnement par application. Les autorisations d’événements virtuels délégués par l’utilisateur ne sont pas autorisées à créer ce type d’abonnement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner à tous les événements créés dans un locataire avec les organisateurs appropriés
Vous pouvez vous abonner à tous les événements qui incluent tous les membres d’un ensemble d’organisateurs ou de co-organisateurs à l’aide de la ressource suivante : solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']). Ces abonnements reçoivent toutes les notifications créées pour tous les événements virtuels pour un ensemble d’ID d’organisateur ou de co-organisateur. Cet abonnement est considéré comme un abonnement à tous les événements créés dans un locataire. Les autorisations d’événements virtuels délégués par l’utilisateur ne sont pas autorisées à créer ce type d’abonnement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner aux événements mis à jour d’un webinaire spécifique
Pour recevoir des notifications mises à jour pour un webinaire particulier, vous devez créer un abonnement pour ce webinaire unique à l’aide de la ressource suivante : solutions/virtualEvents/webinars/{webinarId}.
Une application ne peut avoir qu’un seul abonnement par webinaire au sein d’un locataire. Un jeton délégué par l’utilisateur vous permet de configurer un abonnement pour recevoir des notifications de mise à jour de webinaire au sein d’un locataire. Cet abonnement est disponible uniquement pour les utilisateurs qui ont organisé ou co-organisé des webinaires dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner aux événements de rapport de présence pour toutes les sessions d’un webinaire
Pour recevoir des notifications lorsque des rapports de présence deviennent disponibles pour les sessions d’un webinaire d’événement virtuel, un abonnement doit être créé avec la ressource suivante : solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports.
Une application ne peut avoir qu’un seul abonnement pour les rapports de présence d’un webinaire à l’intérieur d’un locataire. Un jeton délégué par l’utilisateur vous permet de configurer un abonnement pour recevoir des notifications de mise à jour de webinaire au sein d’un locataire. Cet abonnement est disponible uniquement pour les utilisateurs qui ont organisé ou co-organisé des webinaires dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner aux notifications d’événements de session pour un webinaire
Pour vous abonner aux notifications pour les sessions créées ou mises à jour dans un webinaire, spécifiez la ressource comme solutions/virtualEvents/webinars/{webinarId}/sessions.
Une application ne peut avoir qu’un seul abonnement de niveau session par webinaire dans un locataire. Un jeton délégué par l’utilisateur vous permet de configurer un abonnement pour recevoir des notifications de mise à jour de webinaire au sein d’un locataire. Cet abonnement est disponible uniquement pour les utilisateurs qui ont organisé ou co-organisé des webinaires dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner à une publication vidéo à la demande pour toutes les sessions d’un webinaire
Pour vous abonner aux notifications en cas de publication vidéo à la demande d’une session, spécifiez la ressource en tant que solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication.
Une application ne peut avoir qu’un abonnement par événement virtuel dans un locataire pour les publications de vidéo à la demande. Un jeton délégué d’utilisateur vous permet de configurer un abonnement par événement virtuel dans un locataire. L’abonnement est disponible uniquement pour les utilisateurs qui sont l’organisateur ou qui sont répertoriés en tant que co-organisateurs dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"expirationDateTime": "2025-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner aux événements d’appel de réunion d’une session spécifique
Pour plus d’informations sur la façon de s’abonner aux événements d’appel de réunion d’une session spécifique, consultez Obtenir des notifications de modification pour les mises à jour des appels de réunion Microsoft Teams.
S’abonner à des événements d’inscription pour un webinaire
Pour vous abonner aux notifications pour les événements d’inscription d’un webinaire, spécifiez la ressource en tant que solutions/virtualEvents/webinars/{webinarId}/registrations.
Une application ne peut avoir qu’un seul abonnement de niveau d’inscription par webinaire au sein d’un locataire. Un jeton délégué par l’utilisateur vous permet de configurer un abonnement pour recevoir des notifications de mise à jour de webinaire au sein d’un locataire. Toutefois, l’abonnement n’est disponible que pour les utilisateurs qui ont organisé ou co-organisé des webinaires dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
S’abonner aux événements mis à jour d’une mairie spécifique
Pour recevoir des notifications mises à jour pour une mairie particulière, vous devez créer un abonnement pour cette mairie unique à l’aide de la ressource suivante : solutions/virtualEvents/townhalls/{townhall_id}.
Une application ne peut avoir qu’un seul abonnement par mairie à l’intérieur d’un locataire. Un jeton délégué par l’utilisateur vous permet de configurer un abonnement pour recevoir des notifications de mise à jour de l’hôtel de ville au sein d’un locataire. Cet abonnement est disponible uniquement pour les utilisateurs qui ont organisé ou co-organisé des assemblées dans le même locataire que l’hôte de l’événement.
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://contonso.com",
"lifecycleNotificationUrl": "https://contonso.com",
"resource": "solutions/virtualevents/townhalls/{townhall_id},
"expirationDateTime": "2026-01-31T12:00:00.0000000Z",
"clientState": "virtualevent-townhall-subscription",
}
Réception de notifications d’événements
Les notifications incluent l’URL de la ressource modifiée. Vous pouvez envoyer une demande distincte à l’URL de la ressource pour obtenir des informations sur une ressource créée ou mise à jour.
Types de notification
Le tableau suivant indique les types de notification et de modification pris en charge pour la ressource d’événements virtuels.
| Type de notification | ID de ressource | Change Types |
|---|---|---|
| Webinaire | solutions/virtualEvents/webinars/{webinarId} |
créé, mis à jour |
| Session | solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId} |
créé, mis à jour |
| Registration | solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId} |
créé, mis à jour |
| Rapport de présence aux réunions | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
créé |
| Hôtel de ville | solutions/virtualEvents/townhalls/{townhallId} |
créé, mis à jour |
| Session | solutions/virtualEvents/townhalls/{townhallId}/sessions/{sessionId} |
créé, mis à jour |
| Rapport de présence aux réunions | solutions/virtualEvents/townhalls/{webinarId}/getAttendanceReports |
créé |
| Vidéo à la demande de session publiée | solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId} |
Actualisé |
Exemples de notification d’événement
Les exemples JSON suivants montrent les réponses pour chaque type de modification pris en charge d’un événement.
Événement créé
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/events/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Webinaire mis à jour
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Exemples de notification de session
Les exemples JSON suivants montrent les réponses pour chaque type de modification pris en charge d’une session.
Session créée
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Session mise à jour
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Vidéo à la demande publiée
Événements créés lorsque la vidéo à la demande est publiée pour une session d’événements virtuelle. L’application ou l’utilisateur peut utiliser **resourceData.@odata.id** pour découvrir quelle vidéo de session d’événements virtuelle à la demande est disponible.
Lorsqu’une notification est reçue pour les sessions de webinaires d’événements virtuels, la notification informe uniquement l’application ou l’utilisateur que l’URL de la vidéo à la demande pour le webinaire d’événement virtuel est publiée. L’URL de la vidéo à la demande pour la session d’événements virtuelle peut être null ou utilisable uniquement par l’organisateur. L’application ou l’utilisateur doit déterminer les URL de vidéo à la demande uniques à fournir aux différents participants, car une SEULE URL de vidéo à la demande ne fonctionne pas pour tous les utilisateurs.
Pour les sessions d’assemblées de ville d’événements virtuels, une URL de vidéo à la demande universelle est disponible sur l’objet de session d’événement virtuel, qui peut être utilisée par tous les participants.
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualeventsession",
"id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}"
}
}
]
}
Événements mis à jour d’appel de réunion de session
Pour plus d’informations sur les types de notifications reçues pour les mises à jour des appels de réunion, consultez Types de notifications d’événements.
Exemples de notifications d’inscription
Les exemples JSON suivants montrent les réponses pour chaque type de modification pris en charge d’une inscription.
Inscription créée
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Inscription mise à jour
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Rapport de présence créé
Les événements créés par un rapport de présence retournent le point de terminaison de l’objet meetingAttendanceReport . Les utilisateurs peuvent utiliser ce point de terminaison dans **resourceData.@odata.id** pour interroger les détails dans l’objet meetingAttendanceReport .
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}/attendanceReports/{reportId}",
"@odata.type": "#microsoft.graph.meetingAttendanceReport",
"id": "{reportId}"
}
}
]
}
Mairie créée
{
"value": [
{
"subscriptionId": "eb1226bf-be92-0a00-04c5-43d87ee913c6",
"clientState": "virtualevent-townhall-subscription",
"changeType": "created",
"resource": "solutions/virtualevents/townhalls/{townhallId}",
"subscriptionExpirationDateTime": "2026-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.type": "#microsoft.graph.virtualEventTownhall",
"@odata.id": "solutions/virtualevents/townhalls/{townhallId}",
"id": "solutions/virtualevents/townhalls/{townhallId}"
}
}
]
}