使用 Microsoft Graph 获取会议脚本和录制的更改通知

更改通知使你能够订阅对脚本和录制的更改。 每当在联机会议后 有脚本录制 内容可用时,你都可以收到通知。

本文介绍 脚本录制 资源的方案。 有关详细信息,请参阅 Microsoft Teams 资源的更改通知

注意

如果请求的订阅 expirationDateTime 在未来超过 1 小时,则必须通过在订阅请求中包含 lifecycleNotificationUrl 属性来订阅生命周期通知。 否则,订阅请求将失败并显示以下错误消息: 当 expirationDateTime 值超过 1 小时时,需要 lifecycleNotificationUrl 才能在此资源上创建订阅

订阅租户级别提供的脚本

若要获取可用于租户中任何联机会议的任何脚本的更改通知,请订阅 communications/onlineMeetings/getAllTranscripts。 此资源支持在通知中包括资源数据。 仅当订阅在听录开始之前发生时,才会发送脚本通知。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 communications/onlineMeetings/getAllTranscripts需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) 不支持。
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingTranscript.Read.All

示例

以下示例演示如何订阅租户级别提供的脚本。

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}"
}

订阅可用于特定联机会议的脚本

若要获取可用于特定联机会议的任何脚本的更改通知,请订阅 communications/onlineMeetings/{onlineMeetingId}/transcripts。 此资源支持在通知中包括资源数据。 仅当订阅在听录开始之前发生时,才会发送脚本通知。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 communications/onlineMeetings/{onlineMeetingId}/transcripts需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) OnlineMeetingTranscript.Read.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingTranscript.Read.Chat、OnlineMeetingTranscript.Read.All

注意

  • OnlineMeetingTranscript.Read.Chat 权限使用 特定于资源的许可
  • 若要仅使用所需的 特定于资源的许可 权限订阅可用于特定联机会议的任何脚本,请将查询参数与资源字符串一起使用 useResourceSpecificConsentBasedAuthorization=true

示例 1:使用经典权限订阅可用于特定联机会议的脚本

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}"
}

订阅用户级别提供的脚本

若要获取可供特定用户组织的任何联机会议的任何脚本的更改通知,请 users/{userId}/onlineMeetings/getAllTranscripts订阅 。 此资源支持在通知中包括资源数据。 仅当订阅在听录开始之前发生时,才会发送脚本通知。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 users/{userId}/onlineMeetings/getAllTranscripts需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) OnlineMeetingTranscript.Read.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingTranscript.Read.All

示例

以下示例演示如何订阅可供特定用户组织的任何联机会议的脚本。

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}"
}

订阅可用于安装了特定 Teams 应用的任何联机会议的脚本

若要获取可用于安装了特定 Teams 应用的任何联机会议的任何脚本的更改通知,请订阅 appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscripts。 此资源支持在通知中包括资源数据。 仅当订阅在听录开始之前发生时,才会发送脚本通知。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

注意

此资源类型仅在终结点上 /beta 可用。

权限

订阅 appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscripts需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) 不支持。
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingTranscript.Read.Chat、OnlineMeetingTranscript.Read.All

注意

  • OnlineMeetingTranscript.Read.Chat 权限使用 特定于资源的许可
  • 若要订阅任何联机会议可用的脚本,其中仅使用所需的 特定于资源的许可 权限安装了特定 Teams 应用,请将 query 参数与资源字符串一起使用 useResourceSpecificConsentBasedAuthorization=true

示例 1:订阅可用于使用经典权限安装特定 Teams 应用的任何联机会议的脚本

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}"
}

订阅租户级别可用的录制内容

若要获取可用于租户中任何联机会议的任何录制的更改通知,请 communications/onlineMeetings/getAllRecordings订阅 。 此资源支持在通知中包括资源数据。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 communications/onlineMeetings/getAllRecordings需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) 不支持。
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingRecording.Read.All

示例

以下示例演示如何订阅租户级别的可用录制。

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}"
}

订阅可用于特定联机会议的录制内容

若要获取可用于特定联机会议的任何录制的更改通知,请 communications/onlineMeetings/{onlineMeetingId}/recordings订阅 。 此资源支持在通知中包括资源数据。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 communications/onlineMeetings/{onlineMeetingId}/recordings需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) OnlineMeetingRecording.Read.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingRecording.Read.Chat、OnlineMeetingRecording.Read.All

注意

  • OnlineMeetingRecording.Read.Chat 权限使用 特定于资源的许可
  • 若要仅使用所需的 特定于资源的许可 权限订阅可用于特定联机会议的任何录制,请将查询参数与资源字符串一起使用 useResourceSpecificConsentBasedAuthorization=true

示例 1:使用经典权限订阅可用于特定联机会议的录制内容

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}"
}

订阅在用户级别可用的录制内容

若要获取可用于特定用户组织的任何联机会议的任何录制的更改通知,请 users/{userId}/onlineMeetings/getAllRecordings订阅 。 此资源支持在通知中包括资源数据。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

权限

订阅 users/{userId}/onlineMeetings/getAllRecordings需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) OnlineMeetingRecording.Read.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingRecording.Read.All

示例

以下示例演示如何订阅可供特定用户组织的任何联机会议的录制内容。

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}"
}

订阅可用于安装了特定 Teams 应用的任何联机会议的录制内容

若要获取可用于安装了特定 Teams 应用的任何联机会议的任何录制的更改通知,请订阅 appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordings。 此资源支持在通知中包括资源数据。 此订阅支持计划的 onlineMeeting, 但不支持频道会议。

注意

此资源类型仅在终结点上 /beta 可用。

权限

订阅 appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordings需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) 不支持。
委派(个人 Microsoft 帐户) 不支持。
应用程序 OnlineMeetingRecording.Read.Chat、OnlineMeetingRecording.Read.All

注意

  • OnlineMeetingRecording.Read.Chat 权限使用 特定于资源的许可
  • 若要订阅任何联机会议可用的录制内容,其中仅使用所需的 特定于资源的许可 权限安装了特定 Teams 应用,请将 query 参数与资源字符串一起使用 useResourceSpecificConsentBasedAuthorization=true

示例 1:订阅可用于使用所需经典权限安装特定 Teams 应用的任何联机会议的录制内容

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}"
}

通知有效负载

根据你的订阅,可以获取包含或不带资源数据的通知。 通过订阅资源数据,可以获取 脚本录制 元数据以及通知。

包含资源数据的通知

对于包含资源数据的通知,负载如下所示。 此有效负载适用于联机会议可用的脚本。

{
  "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-->>"
  ]
}

解密的通知负载如下所示。 有效负载符合 脚本 架构。 有效负载类似于 GET 操作返回的有效负载。

{
  "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy",
  "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
  "transcriptContentUrl": "communications/onlineMeetings/MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy/transcripts/MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx/content",
  "createdDateTime": null,
  "endDateTime": "2023-04-10T08:27:25.2346000Z",
  "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "userIdentityType": "aadUser",
      "id": "976f4b31-fd01-4e0b-9178-29cc40c14438",
      "displayName": null,
      "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
    }
  }
}

对于包含资源数据的通知,负载如下所示。 此有效负载适用于可用于联机会议的录制。

{
  "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-->>"
  ]
}

解密的通知负载如下所示。 有效负载符合 记录 架构。 有效负载类似于 GET 操作返回的有效负载。

{
  "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy",
  "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
  "createdDateTime": "2023-07-25T09:35:02.85022Z",
  "endDateTime": "2023-04-10T08:27:25.2346000Z",
  "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
  "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
}

不含资源数据的通知

没有资源数据的通知会提供资源 ID,用于进行 GET 调用以获取脚本或录制内容。 没有资源数据的通知订阅不需要加密证书 (,因为实际资源数据不会通过) 发送。

对于不包含资源数据的通知,有效负载如下所示。 此有效负载适用于联机会议可用的脚本。

{
  "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')"
  }
}

对于不包含资源数据的通知,有效负载如下所示。 此有效负载适用于可用于联机会议的录制。

{
  "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=')"
  }
}

资源和@odata.id 属性可用于调用 Microsoft Graph 以获取脚本或录制内容。