Recevoir des notifications de modification pour les transcriptions et les enregistrements de réunion à l’aide de Microsoft Graph

Les notifications de modification vous permettent de vous abonner aux modifications apportées aux transcriptions et aux enregistrements. Vous pouvez recevoir une notification chaque fois qu’une transcription ou un enregistrement est disponible après une réunion en ligne.

Cet article décrit des scénarios pour les ressources de transcription et d’enregistrement . Pour plus d’informations, consultez Notifications de modification pour les ressources Microsoft Teams.

Remarque

Si vous demandez un abonnement expirationDateTime supérieur à 1 heure à l’avenir, vous devez vous abonner aux notifications de cycle de vie en incluant une propriété lifecycleNotificationUrl dans votre demande d’abonnement. Sinon, votre demande d’abonnement échoue avec le message d’erreur suivant : lifecycleNotificationUrl est requis pour la création de l’abonnement sur cette ressource lorsque la valeur expirationDateTime dépasse 1 heure.

S’abonner aux transcriptions disponibles au niveau du locataire

Pour obtenir des notifications de modification pour toute transcription disponible pour toute réunion en ligne dans un locataire, abonnez-vous à communications/onlineMeetings/getAllTranscripts. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. La notification d’une transcription est envoyée uniquement si l’abonnement se produit avant le début de la transcription. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à communications/onlineMeetings/getAllTranscripts. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Non prise en charge.
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingTranscript.Read.All

Exemple

L’exemple suivant montre comment s’abonner aux transcriptions disponibles au niveau du locataire.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

S’abonner aux transcriptions disponibles pour une réunion en ligne particulière

Pour obtenir des notifications de modification pour toute transcription disponible pour une réunion en ligne particulière, abonnez-vous à communications/onlineMeetings/{onlineMeetingId}/transcripts. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. La notification d’une transcription est envoyée uniquement si l’abonnement se produit avant le début de la transcription. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à communications/onlineMeetings/{onlineMeetingId}/transcripts. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) OnlineMeetingTranscript.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingTranscript.Read.Chat, OnlineMeetingTranscript.Read.All

Remarque

  • L’autorisation OnlineMeetingTranscript.Read.Chat utilise le consentement spécifique à la ressource.
  • Pour vous abonner à une transcription disponible pour une réunion en ligne particulière en utilisant uniquement les autorisations de consentement spécifiques à la ressource requises, utilisez le useResourceSpecificConsentBasedAuthorization=true paramètre de requête avec votre chaîne de ressource.

Exemple 1 : S’abonner aux transcriptions disponibles pour une réunion en ligne particulière à l’aide d’autorisations classiques

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/transcripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/transcripts?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

S’abonner aux transcriptions disponibles au niveau de l’utilisateur

Pour obtenir des notifications de modification pour toute transcription disponible pour toute réunion en ligne organisée par un utilisateur spécifique, abonnez-vous à users/{userId}/onlineMeetings/getAllTranscripts. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. La notification d’une transcription est envoyée uniquement si l’abonnement se produit avant le début de la transcription. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à users/{userId}/onlineMeetings/getAllTranscripts. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) OnlineMeetingTranscript.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingTranscript.Read.All

Exemple

L’exemple suivant montre comment s’abonner aux transcriptions disponibles pour toute réunion en ligne organisée par un utilisateur spécifique.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "users/{userId}/onlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Abonnez-vous aux transcriptions disponibles pour toute réunion en ligne où une application Teams spécifique est installée

Pour obtenir des notifications de modification pour toute transcription disponible pour toute réunion en ligne où une application Teams spécifique est installée, abonnez-vous à appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscripts. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. La notification d’une transcription est envoyée uniquement si l’abonnement se produit avant le début de la transcription. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Remarque

Ce type de ressource est disponible uniquement sur le point de /beta terminaison.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscripts. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Non prise en charge.
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingTranscript.Read.Chat, OnlineMeetingTranscript.Read.All

Remarque

  • L’autorisation OnlineMeetingTranscript.Read.Chat utilise le consentement spécifique à la ressource.
  • Pour vous abonner aux transcriptions disponibles pour toute réunion en ligne où une application Teams spécifique est installée à l’aide uniquement des autorisations de consentement spécifiques à la ressource requises, utilisez le useResourceSpecificConsentBasedAuthorization=true paramètre de requête avec votre chaîne de ressource.

Exemple 1 : S’abonner aux transcriptions disponibles pour toute réunion en ligne où une application Teams spécifique est installée à l’aide d’autorisations classiques

POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllTranscripts?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

S’abonner aux enregistrements disponibles au niveau du locataire

Pour obtenir des notifications de modification pour tout enregistrement disponible pour toute réunion en ligne dans un locataire, abonnez-vous à communications/onlineMeetings/getAllRecordings. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à communications/onlineMeetings/getAllRecordings. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Non prise en charge.
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingRecording.Read.All

Exemple

L’exemple suivant montre comment s’abonner aux enregistrements disponibles au niveau du locataire.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

S’abonner aux enregistrements disponibles pour une réunion en ligne particulière

Pour obtenir des notifications de modification pour tout enregistrement disponible pour une réunion en ligne particulière, abonnez-vous à communications/onlineMeetings/{onlineMeetingId}/recordings. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à communications/onlineMeetings/{onlineMeetingId}/recordings. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) OnlineMeetingRecording.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingRecording.Read.Chat, OnlineMeetingRecording.Read.All

Remarque

  • L’autorisation OnlineMeetingRecording.Read.Chat utilise le consentement spécifique à la ressource.
  • Pour vous abonner à un enregistrement disponible pour une réunion en ligne particulière en utilisant uniquement les autorisations de consentement spécifiques à la ressource requises, utilisez le useResourceSpecificConsentBasedAuthorization=true paramètre de requête avec votre chaîne de ressource.

Exemple 1 : S’abonner aux enregistrements disponibles pour une réunion en ligne particulière à l’aide d’autorisations classiques

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/recordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/recordings?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

S’abonner aux enregistrements disponibles au niveau de l’utilisateur

Pour obtenir des notifications de modification pour tout enregistrement disponible pour toute réunion en ligne organisée par un utilisateur spécifique, abonnez-vous à users/{userId}/onlineMeetings/getAllRecordings. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à users/{userId}/onlineMeetings/getAllRecordings. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) OnlineMeetingRecording.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingRecording.Read.All

Exemple

L’exemple suivant montre comment s’abonner aux enregistrements disponibles pour toute réunion en ligne organisée par un utilisateur spécifique.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "users/{userId}/onlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Abonnez-vous aux enregistrements disponibles pour toute réunion en ligne où une application Teams spécifique est installée

Pour obtenir des notifications de modification pour tout enregistrement disponible pour toute réunion en ligne où une application Teams spécifique est installée, abonnez-vous à appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordings. Cette ressource prend en charge la fonction y compris les données de ressources dans la notification. Cet abonnement prend en charge les réunions en ligne planifiées , mais pas les réunions de canal.

Remarque

Ce type de ressource est disponible uniquement sur le point de /beta terminaison.

Autorisations

L’une des autorisations suivantes est requise pour s’abonner à appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordings. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Non prise en charge.
Déléguée (compte Microsoft personnel) Non prise en charge.
Application OnlineMeetingRecording.Read.Chat, OnlineMeetingRecording.Read.All

Remarque

  • L’autorisation OnlineMeetingRecording.Read.Chat utilise le consentement spécifique à la ressource.
  • Pour vous abonner aux enregistrements disponibles pour toute réunion en ligne où une application Teams spécifique est installée en utilisant uniquement les autorisations de consentement spécifiques à la ressource requises, utilisez le useResourceSpecificConsentBasedAuthorization=true paramètre de requête avec votre chaîne de ressource.

Exemple 1 : S’abonner aux enregistrements disponibles pour toute réunion en ligne où une application Teams spécifique est installée à l’aide des autorisations classiques requises

POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllRecordings?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Charges utiles de notification

Selon votre abonnement, vous pouvez obtenir la notification avec ou sans données de ressource. L’abonnement aux données de ressources vous permet d’obtenir la transcription ou d’enregistrer des métadonnées avec la notification.

Notifications avec des données de ressource

Pour les notifications avec des données de ressource, la charge utile se présente comme suit. Cette charge utile concerne une transcription disponible pour une réunion en ligne.

{
  "value": [
    {
      "subscriptionId": "516220d0-0f88-46cc-ac39-02b687687526",
      "changeType": "created",
      "clientState": "<<--SpecifiedClientState-->>",
      "subscriptionExpirationDateTime": "2023-09-17T08:13:26.3265566+00:00",
      "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')",
      "resourceData": {
        "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
        "@odata.type": "#Microsoft.Graph.callTranscript",
        "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')"
      },
      "EncryptedContent": {
        "data": "<<--EncryptedContent-->>",
        "dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
        "encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
        "encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
      },
      "tenantId": "<<--TenantForWhichNotificationWasSent-->>"
    }
  ],
  "validationTokens": [
    "<<--ValidationTokens-->>"
  ]
}

La charge utile de la notification déchiffrée se présente comme suit. La charge utile est conforme au schéma de transcription . La charge utile est similaire à celles retournées par les opérations GET.

{
  "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy",
  "transcriptContentUrl": "communications/onlineMeetings/MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy/transcripts/MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx/content",
  "createdDateTime": null,
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "userIdentityType": "aadUser",
      "id": "976f4b31-fd01-4e0b-9178-29cc40c14438",
      "displayName": null,
      "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
    }
  }
}

Pour les notifications avec des données de ressource, la charge utile se présente comme suit. Cette charge utile concerne un enregistrement disponible pour une réunion en ligne.

{
  "value": [
    {
      "subscriptionId": "7a62d59e-a789-4dd7-9c85-cf7d6567890d",
      "changeType": "created",
      "clientState": "<<--SpecifiedClientState-->>",
      "subscriptionExpirationDateTime": "2023-09-17T08:20:06.9211285+00:00",
      "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')",
      "resourceData": {
        "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
        "@odata.type": "#Microsoft.Graph.callRecording",
        "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')"
      },
      "EncryptedContent": {
        "data": "<<--EncryptedContent-->>",
        "dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
        "encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
        "encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
      },
      "tenantId": "<<--TenantForWhichNotificationWasSent-->>"
    }
  ],
  "validationTokens": [
    "<<--ValidationTokens-->>"
  ]
}

La charge utile de la notification déchiffrée se présente comme suit. La charge utile est conforme au schéma d’enregistrement . La charge utile est similaire à celles retournées par les opérations GET.

{
  "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy",
  "createdDateTime": "2023-07-25T09:35:02.85022Z",
  "recordingContentUrl": "communications/onlineMeetings/MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy/recordings/VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=/content",
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "userIdentityType": "aadUser",
      "id": "976f4b31-fd01-4e0b-9178-29cc40c14438",
      "displayName": null,
      "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
    }
  },
  "content": null
}

Notifications sans les données de ressource

Les notifications sans données de ressource vous donnent l’ID de ressource pour effectuer des appels GET afin d’obtenir la transcription ou l’enregistrement. Les abonnements aux notifications sans données de ressource ne nécessitent pas de certificat de chiffrement (car les données de ressource réelles ne sont pas envoyées).

Pour les notifications sans données de ressource, la charge utile se présente comme suit. Cette charge utile concerne une transcription disponible pour une réunion en ligne.

{
  "subscriptionId": "0cc28c98-4d2a-4a34-b850-815d7e6486ea",
  "changeType": "created",
  "tenantId": "<<--TenantForWhichNotificationWasSent-->>",
  "clientState": "<<--SpecifiedClientState-->>",
  "subscriptionExpirationDateTime": "2023-09-17T08:29:11.3173971+00:00",
  "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')",
  "resourceData": {
    "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
    "@odata.type": "#Microsoft.Graph.callTranscript",
    "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')"
  }
}

Pour les notifications sans données de ressource, la charge utile se présente comme suit. Cette charge utile concerne un enregistrement disponible pour une réunion en ligne.

{
  "subscriptionId": "6aa5ced2-0a5a-4643-9274-3109c731d986",
  "changeType": "created",
  "tenantId": "<<--TenantForWhichNotificationWasSent-->>",
  "clientState": "<<--SpecifiedClientState-->>",
  "subscriptionExpirationDateTime": "2023-09-17T08:27:05.0241757+00:00",
  "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')",
  "resourceData": {
    "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
    "@odata.type": "#Microsoft.Graph.callRecording",
    "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')"
  }
}

Les propriétés resource et @odata.id peuvent être utilisées pour appeler Microsoft Graph afin d’obtenir la transcription ou l’enregistrement.