Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Уведомления об изменениях позволяют подписаться на изменения в расшифровках и записях. Вы можете получать уведомления всякий раз, когда стенограмма или запись доступна после собрания по сети или нерегламентированного звонка.
В этой статье описаны сценарии для расшифровки и записи ресурсов. Дополнительные сведения см. в разделе Уведомления об изменениях для ресурсов Microsoft Teams.
Примечание.
Если вы запрашиваете срок действия подпискиDateTime , который в будущем превышает 1 час, необходимо подписаться на уведомления о жизненном цикле, включив свойство lifecycleNotificationUrl в запрос подписки. В противном случае запрос подписки завершается сбоем со следующим сообщением об ошибке: lifecycleNotificationUrl требуется для создания подписки на этом ресурсе, когда значение expirationDateTime превышает 1 час.
Подписка на расшифровки, доступные на уровне клиента
В этом разделе описываются методы подписки на расшифровки, доступные на уровне клиента для собраний по сети и нерегламентированных звонков.
Для собраний по сети
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для любого собрания по сети в клиенте, подпишитесь на communications/onlineMeetings/getAllTranscripts. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Примечание.
В настоящее время эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на 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/adhocCalls/getAllTranscripts. Этот ресурс поддерживает включение данных ресурса в уведомление.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/adhocCalls/getAllTranscripts.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | CallTranscripts.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/adhocCalls/getAllTranscripts",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "{expirationDateTime}",
"clientState": "{secretClientState}"
}
Подписка на расшифровки, доступные для определенного собрания по сети
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для определенного онлайн-собрания, подпишитесь на communications/onlineMeetings/{onlineMeetingId}/transcripts. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Примечание.
В настоящее время эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на 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}"
}
Подписка на расшифровки, доступные для конкретного нерегламентированного вызова
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для определенного нерегламентированного вызова, подпишитесь на communications/adhocCalls/{adhocCallId}/transcripts.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/adhocCalls/{adhocCallId}/transcripts. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | CallTranscripts.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/adhocCalls/{adhocCallId}/transcripts",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2023-03-20T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
Подписка на расшифровки, доступные для онлайн-собраний, организованных пользователем
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для любого онлайн-собрания, организованного определенным пользователем, подпишитесь на users/{userId}/onlineMeetings/getAllTranscripts. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает запланированные onlineMeetings.
Примечание.
В настоящее время эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на 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}"
}
Подписка на расшифровки, доступные для нерегламентированного вызова, когда конкретный пользователь инициирует транскрибирование
Чтобы получать уведомления об изменениях для любой расшифровки, доступной для любого нерегламентированного вызова, когда конкретный пользователь инициирует транскрибирование, подпишитесь на users/{userId}/adhocCalls/getAllTranscripts. Этот ресурс поддерживает включение данных ресурса в уведомление. Уведомление для расшифровки отправляется только в том случае, если подписка выполняется до начала транскрибирования. Эта подписка поддерживает нерегламентированные вызовы.
Разрешения
Одно из следующих разрешений требуется для подписки на users/{userId}/adhocCalls/getAllTranscripts. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | CallTranscripts.Read.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | CallTranscripts.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}/adhocCalls/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, но не поддерживает собрания каналов.
Разрешения
Одно из следующих разрешений требуется для подписки на 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/v1.0/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/v1.0/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.
Примечание.
Эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на 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/adhocCalls/getAllRecordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает adhocCalls.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/adhocCalls/getAllRecordings. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | Не поддерживается. |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | CallRecordings.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/adhocCalls/getAllRecordings",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2023-04-11T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
Подписка на записи, доступные для определенного собрания по сети
Чтобы получать уведомления об изменениях для любой записи, доступной для определенного онлайн-собрания, подпишитесь на communications/onlineMeetings/{onlineMeetingId}/recordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные onlineMeetings.
Примечание.
В настоящее время эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на 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}"
}
Подписка на записи, доступные для определенного нерегламентированного вызова
Чтобы получать уведомления об изменениях для любой записи, доступной для определенного нерегламентированного вызова, подпишитесь на communications/adhocCalls/{adhocCallId}/recordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает нерегламентированные вызовы.
Разрешения
Одно из следующих разрешений требуется для подписки на communications/adhocCalls/{adhocCallId}/recordings. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | CallRecordings.Read.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | CallRecordings.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/adhocCalls/{adhocCallId}/recordings",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2023-04-11T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
Подписка на записи, доступные для собраний по сети, организованных пользователем
Чтобы получать уведомления об изменениях для любой записи, доступной для любого онлайн-собрания, организованного определенным пользователем, подпишитесь на users/{userId}/onlineMeetings/getAllRecordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные onlineMeetings.
Примечание.
В настоящее время эта подписка не поддерживает собрания частного канала.
Разрешения
Одно из следующих разрешений требуется для подписки на users/{userId}/onlineMeetings/getAllRecordings. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | OnlineMeetingRecording.Read.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | OnlineMeetingRecording.Read.All |
Подписка на записи, доступные для нерегламентированного вызова, когда конкретный пользователь инициирует транскрибирование
Чтобы получать уведомления об изменениях для любой записи, доступной для любого нерегламентированного вызова, когда конкретный пользователь инициирует транскрибирование, подпишитесь на users/{userId}/adhocCalls/getAllRecordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает нерегламентированные вызовы.
Разрешения
Одно из следующих разрешений требуется для подписки на users/{userId}/adhocCalls/getAllRecordings. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
| Тип разрешения | Разрешения (в порядке повышения привилегий) |
|---|---|
| Делегированные (рабочая или учебная учетная запись) | CallRecordings.Read.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. |
| Приложение | CallRecordings.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}/adhocCalls/getAllRecordings",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2023-04-11T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
Подписка на записи, доступные для любого собрания по сети, где установлено определенное приложение Teams
В этом разделе описаны способы подписки на записи, доступные для любого собрания по сети, на котором установлено определенное приложение Teams.
Чтобы получать уведомления об изменениях для любой записи, доступной для любого собрания по сети, где установлено определенное приложение Teams, подпишитесь на appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordings. Этот ресурс поддерживает включение данных ресурса в уведомление. Эта подписка поддерживает запланированные собрания onlineMeeting, но не поддерживает собрания каналов.
Разрешения
Одно из следующих разрешений требуется для подписки на 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/v1.0/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/v1.0/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}"
}
Полезные данные уведомлений
В зависимости от подписки вы можете получать уведомление с данными ресурса или без нее. Подписка с данными ресурса позволяет получить расшифровку или запись метаданных вместе с уведомлением.
Уведомления с данными ресурсов для расшифровок
Для уведомлений с данными ресурсов полезные данные выглядят следующим образом. Это полезные данные для расшифровки, доступной для собрания по сети. Для нерегламентированных вызовов значение meetingId имеет значение null.
Примечание.
Показанный здесь объект полезных данных сокращен для удобства чтения.
Для собраний по сети
{
"value": [
{
"subscriptionId": "516220d0-0f88-46cc-ac39-02b687687526",
"changeType": "created",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2023-09-17T08:13:26.3265566+00:00",
"resource": "users/{organizer-id}/onlineMeetings('Mso...')/transcripts('MSM...')",
"resourceData": {
"id": "MSM...",
"@odata.type": "#Microsoft.Graph.callTranscript",
"@odata.id": "users/{organizer-id}/onlineMeetings('Mso...')/transcripts('MSM...')"
},
"encryptedContent": {
"data": "<<--EncryptedContent-->>",
"dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
"encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
"encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
},
"tenantId": "<<--TenantForWhichNotificationWasSent-->>"
}
],
"validationTokens": [
"<<--ValidationTokens-->>"
]
}
Для нерегламентированных вызовов
{
"value": [
{
"subscriptionId": "8c0ff21a-ca3b-45db-b570-e589a7d3d02d",
"changeType": "created",
"clientState": "null",
"subscriptionExpirationDateTime": "2025-08-08T06:29:30.356Z",
"resource": "users/f2e8e111-3887-4936-87f8-639292c70d34/adhoccalls/5f3640e7-a59c-4bec-82ca-e66251f795b7/transcripts('MyM...')",
"resourceData": {
"id": "f2e8e111-3887-4936-87f8-639292c70d34",
"@odata.type": "#Microsoft.Graph.callTranscript",
"@odata.id": "users/{user-id}/adhoccalls/5f3640e7-a59c-4bec-82ca-e66251f795b7/transcripts('MyM...')"
},
"encryptedContent": {
"data": "<<--EncryptedContent-->>",
"dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
"encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
"encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
},
"tenantId": "<<--TenantForWhichNotificationWasSent-->>"
}
],
"validationTokens": [
"<<--ValidationTokens-->>"
]
}
Расшифрованные уведомления для расшифровок с данными ресурсов
Расшифрованные полезные данные уведомления выглядят следующим образом. Полезные данные соответствуют схеме расшифровки . Полезные данные аналогичны тем, которые возвращаются операциями GET.
Примечание.
Показанный здесь объект полезных данных сокращен для удобства чтения.
Для собраний по сети
{
"id": "MSM...",
"meetingId": "MSo...",
"callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
"transcriptContentUrl": "users/{organizer-id}/onlineMeetings/MSo.../transcripts/MSM.../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"
}
}
}
Для нерегламентированных вызовов
{
"id": "MyM...",
"meetingId": null,
"callId": "5f3640e7-a59c-4bec-82ca-e66251f795b7",
"transcriptContentUrl": "users/f2e8e111-3887-4936-87f8-639292c70d34/adhoccalls/5f3640e7-a59c-4bec-82ca-e66251f795b7/transcripts/MyM.../content",
"createdDateTime": null,
"endDateTime": "2025-08-11T06:57:28.2265904Z",
"contentCorrelationId": "58cfc66a-710f-4be7-adc0-1ca5a28f2c0c-0",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"userIdentityType": "aadUser",
"id": "f2e8e111-3887-4936-87f8-639292c70d34",
"displayName": null,
"tenantId": "8393309d-9fb7-4cce-aafb-eedc8c5781e2"
}
}
}
Уведомления с данными ресурсов для записей
Для уведомлений с данными ресурсов полезные данные выглядят следующим образом.
Примечание.
Показанный здесь объект полезных данных сокращен для удобства чтения.
Для собраний по сети
{
"value": [
{
"subscriptionId": "7a62d59e-a789-4dd7-9c85-cf7d6567890d",
"changeType": "created",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2023-09-17T08:20:06.9211285+00:00",
"resource": "users/{organizer-id}/onlineMeetings('Mso...')/recordings('VjI...')",
"resourceData": {
"id": "VjI...",
"@odata.type": "#Microsoft.Graph.callRecording",
"@odata.id": "users/{organizer-id}/onlineMeetings('Mso...')/recordings('VjI...')"
},
"encryptedContent": {
"data": "<<--EncryptedContent-->>",
"dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
"encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
"encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
},
"tenantId": "<<--TenantForWhichNotificationWasSent-->>"
}
],
"validationTokens": [
"<<--ValidationTokens-->>"
]
}
Для нерегламентированных вызовов
{
"value": [
{
"subscriptionId": "871b5d27-6f77-4100-b78d-bc443873324e",
"changeType": "created",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2025-07-24T18:04:24.3511596+00:00",
"resource": "users/{user-id}/adhoccalls('1c9ddbc9-82be-46b6-8edd-bf833fe33a03')/recordings('MyMjMTk6ODA4MTExMTNiYWQzNDNhYzkzNGI2YTVmYzc1ZThmZGJAdGhyZWFkLnYyIyM1MTYwNzQ4MC1kM2FjLTRlZTQtOTQ3NS1lYjM2NTk5MjM4ZDYtMTc1MzM0NTA2OC1UcmFuc2NyaXB0VjI=')",
"resourceData": {
"id": "MyM...",
"@odata.type": "#Microsoft.Graph.callRecording",
"@odata.id": "users/{user-id}/adhoccalls('1c9ddbc9-82be-46b6-8edd-bf833fe33a03')/recordings(MyMjMTk6ODA4MTExMTNiYWQzNDNhYzkzNGI2YTVmYzc1ZThmZGJAdGhyZWFkLnYyIyM1MTYwNzQ4MC1kM2FjLTRlZTQtOTQ3NS1lYjM2NTk5MjM4ZDYtMTc1MzM0NTA2OC1UcmFuc2NyaXB0VjI=)",
},
"encryptedContent": {
"data": "<<--EncryptedContent-->>",
"dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
"encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
"encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
},
"tenantId": "<<--TenantForWhichNotificationWasSent-->>"
}
],
"validationTokens": [
"<<--ValidationTokens-->>"
]
}
Расшифрованные уведомления для записей с данными ресурсов
Расшифрованные полезные данные уведомления выглядят следующим образом. Полезные данные соответствуют схеме записи . Полезные данные аналогичны тем, которые возвращаются операциями GET.
Примечание.
Показанный здесь объект полезных данных сокращен для удобства чтения.
{
"id": "VjI...",
"meetingId": "MSo...",
"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": "users/{organizer-id}/MSo.../recordings/VjI.../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": "users/{organizer-id}/onlineMeetings('Mso...')/transcripts('MSM...')",
"resourceData": {
"id": "MSM...",
"@odata.type": "#Microsoft.Graph.callTranscript",
"@odata.id": "users/{organizer-id}/onlineMeetings('Mso...')/transcripts('MSM...')"
}
}
Для нерегламентированных вызовов
Для уведомлений без данных ресурса полезные данные выглядят следующим образом. Это полезные данные для расшифровки, доступной для нерегламентированного вызова. Для нерегламентированных вызовов значение meetingId имеет значение null.
{
"subscriptionId": "871b5d27-6f77-4100-b78d-bc443873324e",
"changeType": "created",
"tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2025-07-24T18:04:24.3511596+00:00",
"resource": "users/{user-id}/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/transcripts/MyMjMTk6ODA4MTExMTNiYWQzNDNhYzkzNGI2YTVmYzc1ZThmZGJAdGhyZWFkLnYyIyM1MTYwNzQ4MC1kM2FjLTRlZTQtOTQ3NS1lYjM2NTk5MjM4ZDYtMTc1MzM0NTA2OC1UcmFuc2NyaXB0VjI=",
"resourceData": {
"id": "MyM...",
"@odata.type": "#Microsoft.Graph.callTranscript",
"@odata.id": "users/{user-id}/adhoccalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/transcripts('MyM...')"
}
}
Для уведомлений без данных ресурса полезные данные выглядят следующим образом.
Примечание.
Показанный здесь объект полезных данных сокращен для удобства чтения.
Для записи собраний по сети
{
"subscriptionId": "6aa5ced2-0a5a-4643-9274-3109c731d986",
"changeType": "created",
"tenantId": "<<--TenantForWhichNotificationWasSent-->>",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2023-09-17T08:27:05.0241757+00:00",
"resource": "users/{organizer-id}/onlineMeetings('Mso...')/recordings('VjI...')",
"resourceData": {
"id": "VjI...",
"@odata.type": "#Microsoft.Graph.callRecording",
"@odata.id": "users/{organizer-id}/onlineMeetings('Mso...')/recordings('VjI...')"
}
}
Для записи нерегламентированных вызовов
{
"subscriptionId": "871b5d27-6f77-4100-b78d-bc443873324e",
"changeType": "created",
"tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2025-07-24T18:04:24.3511596+00:00",
"resource": "users/{user-id}/adhoccalls/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings('MyM...')",
"resourceData": {
"id": "MyM...",
"@odata.type": "#Microsoft.Graph.callRecording",
"@odata.id": "users/{user-id}/adhoccalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings('MyM...')"
}
}
Свойства ресурса и @odata.id можно использовать для вызова Microsoft Graph для получения расшифровки или записи.
Связанные материалы
- Уведомления об изменениях в Microsoft Graph
- Получение уведомлений об изменениях команд и каналов с помощью Microsoft Graph
- Получение уведомлений об изменениях членства в каналах с помощью Microsoft Graph
- Получение уведомлений об изменениях членства в командах с помощью Microsoft Graph
- Получение уведомлений об изменениях сообщений в каналах и чатах Teams с помощью Microsoft Graph
- Получение уведомлений об изменениях участников чата с помощью Microsoft Graph
- Обзор API Microsoft Teams
- Пример C# для команды по уведомлениям об изменениях или канала
- Пример Node.js команды по уведомлениям об изменениях или канала