Получение уведомлений об изменениях для расшифровок и записей собраний с помощью Microsoft Graph
Уведомления об изменениях позволяют подписаться на изменения в расшифровках и записях. Вы можете получать уведомления всякий раз, когда стенограмма или запись доступна после собрания по сети.
В этой статье описаны сценарии для расшифровки и записи ресурсов. Дополнительные сведения см. в разделе Уведомления об изменениях для ресурсов Microsoft Teams.
Примечание.
Если вы запрашиваете срок действия подпискиDateTime , который в будущем превышает 1 час, необходимо подписаться на уведомления о жизненном цикле, включив свойство lifecycleNotificationUrl в запрос подписки. В противном случае запрос подписки завершится ошибкой со следующим сообщением об ошибке: lifecycleNotificationUrl требуется для создания подписки на этом ресурсе, когда значение expirationDateTime превышает 1 час.
Подписка на расшифровки, доступные на уровне клиента
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для любого собрания по сети в клиенте, подпишитесь на communications/onlineMeetings/getAllTranscripts
. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/onlineMeetings/getAllTranscripts
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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
. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/onlineMeetings/{onlineMeetingId}/transcripts
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | OnlineMeetingTranscript.Read.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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}"
}
Пример 2. Подписка на расшифровки, доступные для определенного собрания по сети, с помощью разрешений на согласие для конкретного ресурса
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
. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на users/{userId}/onlineMeetings/getAllTranscripts
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | OnlineMeetingTranscript.Read.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | OnlineMeetingTranscript.Read.Chat, OnlineMeetingTranscript.Read.All |
Примечание.
- Разрешение
OnlineMeetingTranscript.Read.Chat
использует согласие для конкретного ресурса. - Чтобы подписаться на расшифровки, доступные для любого собрания по сети, на котором установлено определенное приложение Teams, используя только необходимые разрешения на согласие для конкретного ресурса , используйте
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}"
}
Пример 2. Подписка на расшифровки, доступные для любого собрания по сети, где установлено определенное приложение 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?useResourceSpecificConsentBasedAuthorization=true",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2023-03-20T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
Подписка на записи, доступные на уровне клиента
Чтобы получать уведомления об изменениях для любой записи, доступной для любого собрания по сети в клиенте, подпишитесь на communications/onlineMeetings/getAllRecordings
. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/onlineMeetings/getAllRecordings
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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
. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/onlineMeetings/{onlineMeetingId}/recordings
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | OnlineMeetingRecording.Read.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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}"
}
Пример 2. Подписка на записи, доступные для определенного собрания по сети, используя только разрешения согласия для конкретного ресурса
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
. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные onlineMeetings.
Заметка: Эта подписка также поддерживает собрания каналов в конечной точке
/beta
.
Разрешения
Одно из следующих разрешений требуется для подписки на users/{userId}/onlineMeetings/getAllRecordings
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | OnlineMeetingRecording.Read.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | 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
. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
Приложение | OnlineMeetingRecording.Read.Chat, OnlineMeetingRecording.Read.All |
Примечание.
- Разрешение
OnlineMeetingRecording.Read.Chat
использует согласие для конкретного ресурса. - Чтобы подписаться на записи, доступные для любого собрания по сети, где установлено определенное приложение Teams, используя только необходимые разрешения на согласие для конкретного
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}"
}
Пример 2. Подписка на записи, доступные для любого собрания по сети, на котором установлено определенное приложение 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?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
}
Уведомления без данных ресурса
Уведомления без данных ресурса предоставляют идентификатор ресурса для выполнения вызовов 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 для получения расшифровки или записи.
Связанные материалы
- Уведомления об изменениях в Microsoft Graph
- Получение уведомлений об изменениях команд и каналов с помощью Microsoft Graph
- Получение уведомлений об изменениях участников в командах и каналах с помощью Microsoft Graph
- Получение уведомлений об изменениях сообщений в каналах и чатах Teams с помощью Microsoft Graph
- Получение уведомлений об изменениях участников чата с помощью Microsoft Graph
- Обзор API Microsoft Teams
- Пример C# для команды по уведомлениям об изменениях или канала
- Пример Node.js команды по уведомлениям об изменениях или канала