Получение идентификатора собрания и идентификатора организатора
Приложение может получать расшифровки и записи собрания с помощью идентификатора собрания и идентификатора пользователя организатора собрания, также известного как идентификатор организатора. REST API Graph извлекают расшифровки и записи на основе идентификатора собрания и идентификатора организатора, которые передаются в качестве параметров в API.
Примечание.
Срок действия неиспользованного идентификатора для запланированных собраний может истечь через несколько дней. Его можно реактивировать путем использования URL-адреса собрания для присоединения к собранию. Дополнительные сведения о временной шкале окончания срока собрания для разных типов собраний см. в разделе Срок действия собрания.
Чтобы получить идентификатор собрания и идентификатор организатора для получения расшифровки и записи, выберите один из двух способов:
Подписка на уведомления об изменениях
Вы можете оформить подписку для приложения, чтобы получать уведомления об изменениях для запланированных собраний. Когда ваше приложение получает уведомления о событиях собраний с подпиской, оно может получать расшифровки и записи, если оно авторизовано с помощью необходимых разрешений Microsoft Entra.
Ваше приложение получает уведомление о типе собраний, на которые оно подписано:
Когда приложение получает уведомление о событиях собраний, на которые оно подписано, оно может извлечь идентификатор собрания и идентификатор организатора из сообщения уведомления. В зависимости от полученных сведений о собрании приложение может получать расшифровки и записи собрания после завершения собрания.
Получение сведений о собрании с помощью уведомления на уровне пользователя
Выберите подписку на приложение на уведомления уровня пользователя для получения расшифровок и записей события собрания конкретного пользователя. Когда для этого пользователя будет запланировано собрание, ваше приложение получит уведомление. Ваше приложение также может получать уведомления о собраниях с помощью событий календаря.
Сведения о подписке приложения на события календаря см. в разделе Уведомления об изменениях для ресурсов Outlook в Microsoft Graph.
Используйте следующий пример для подписки на уведомления на уровне пользователя:
POST https://graph.microsoft.com/v1.0/subscriptions/
{
"changeType": "created,updated,deleted",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"resource": "users('1273a016-201d-4f95-8083-1b7f99b3edeb')/events",
"expirationDateTime": "2022-05-05T14:58:56.7951795+00:00",
"clientState": "ClientSecret",
"includeResourceData": false
}
Когда приложение получает уведомление о событии собраний, на которые оно подписано, оно ищет идентификатор события календаря в уведомлении. Используйте идентификатор события для получения JoinWebUrl
, чтобы извлечь идентификатор определенного чата и подписаться на его сообщения. После подписки приложения на сообщения чата выполните действия, указанные для уведомлений на уровне клиента, чтобы получить идентификатор собрания и идентификатор организатора.
Чтобы получить идентификатор собрания и идентификатор организатора из уведомления на уровне пользователя:
Получите идентификатор события: ваше приложение получает свойство
eventId
из полезных данных уведомления.Пример. Полезные данные уведомления
{ "subscriptionId": "ef30cdc6-b5ae-4702-b924-f458fd9e5fc3", "changeType": "created", "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34", "clientState": "ClientSecret", "subscriptionExpirationDateTime": "2022-05-05T07:54:53.1886542-07:00", "resource": "Users/1273a016-201d-4f95-8083-1b7f99b3edeb/Events/AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=", "resourceData": {} }
В этом примере
eventID
изresource
является AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=.Получите URL-адрес собрания: используйте идентификатор события для получения
joinUrl
, содержащего URL-адрес собрания.Дополнительные сведения см. в разделе get event.
Чтобы запросить URL-адрес собрания, используйте следующий пример:
GET https://graph.microsoft.com/v1.0/users/1273a016-201d-4f95-8083-1b7f99b3edeb/events/AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=
Полезные данные ответа содержат
joinURL
.Пример. Полезные данные ответа для получения URL-адреса собрания
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('1273a016-201d-4f95-8083-1b7f99b3edeb')/events/$entity", "@odata.etag": "W/\"xRVh47aDEU6na1ckNYfMiwABb2Twsg==\"", "id": "AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=", "start": { "dateTime": "2022-05-06T15:00:00.0000000", "timeZone": "UTC" }, "end": { "dateTime": "2022-05-06T15:30:00.0000000", "timeZone": "UTC" }, "onlineMeeting": { "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjExYzJiMTItZDY1MS00ZGZkLWE5YzQtZTBmNWI1MDg2M2Uw%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%221273a016-201d-4f95-8083-1b7f99b3edeb%22%7d", "conferenceId": "438824583", "tollNumber": "+1 213-279-1007" } }
URL-адрес собрания содержится в
joinUrl
.Получите идентификатор потока чата. Используйте URL-адрес собрания, полученный в
joinUrl
, для извлечения идентификатора потока чата. Укажите этот URL-адрес собрания в качестве значения параметраjoinWebUrl
при получении соответствующего собрания.Используйте следующий пример для запроса идентификатора потока:
GET https://graph.microsoft.com/v1.0/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings?$filter=JoinWebUrl%20eq%20'https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d'
Полезные данные ответа содержат элемент
threadID
в свойствеchatInfo
.Пример. Полезные данные ответа с идентификатором потока
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings", "value": [ { "id": "MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19NVE01T1RZM01HVXRObVk0TWkwMFlqZzRMVGsyTURVdFkySXlaR1JsTm1VMVpqQTJAdGhyZWFkLnYy", "creationDateTime": "2022-04-26T07:41:17.3736455Z", "startDateTime": "2022-04-26T10:30:00Z", "endDateTime": "2022-04-26T11:00:00Z", "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d", "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d", "chatInfo": { "threadId": "19:meeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2@thread.v2", "messageId": "0", "replyChainMessageId": null } } ] }
Идентификатор чата содержится в
threadId
.Подписка на сообщения чата. Используйте идентификатор чата, чтобы подписать ваше приложение на получение сообщений чата для конкретного собрания. Дополнительные сведения см. в статье Подписка на сообщения в чате.
Если вы хотите, чтобы приложение подписывалось на сообщения с определенным текстом, см. статью Подписка на сообщения в чате, содержащие определенный текст.
Выполните действия для уведомлений на уровне клиента, чтобы получить идентификатор собрания и идентификатор организатора.
Получение сведений о собрании с помощью уведомления на уровне клиента
Уведомления на уровне клиента полезны, если приложение имеет право на доступ ко всем расшифровкам и записям собраний в клиенте. Подпишитесь на приложение, чтобы получать уведомления о событиях, когда начинается транскрибирование и запись или заканчивается вызов для запланированных собраний Teams по сети. После окончания собрания приложение сможет получить доступ к стенограмме и записи собрания.
Сведения о подписке приложения на уведомления на уровне клиента см. в статье Получение уведомлений об изменениях.
Когда ваше приложение получает уведомления о событиях собраний, подписанных, оно выполняет поиск в уведомлениях по следующим причинам:
- События начала транскрибирования.
- События завершения собрания.
Эти события содержат идентификатор чата, который используется для получения сущности чата и, в конечном итоге, идентификатора собрания и идентификатора организатора.
Чтобы получить идентификатор собрания и идентификатор организатора из уведомления на уровне клиента:
Получение идентификатора чата: ваше приложение получает свойство
chatId
из уведомления для последующих вызовов. Ваше приложение может получить идентификатор чата из следующих полезных данных:Событие начала транскрибирования:
callTranscriptEventMessageDetail
тип событияПример. Полезные данные для события начала транскрибирования
{ "subscriptionId": "1217470f-564c-4fe3-b51f-ebd962cb8797", "changeType": "created", "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34", "resource": "chats('19:meeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk@thread.v2')/messages('1649787549174')", "contentDecryptedBySimulator": { "@odata.context": "https://graph.microsoft.com/$metadata#chats('19%3Ameeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk%40thread.v2')/messages/$entity", "messageType": "systemEventMessage", "createdDateTime": "2022-04-12T18:19:09.174Z", "lastModifiedDateTime": "2022-04-12T18:19:09.174Z", "chatId": "19:meeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk@thread.v2", "body": { "contentType": "html", "content": "<systemEventMessage/>" }, "channelIdentity": null, "eventDetail": { "@odata.type": "#Microsoft.Teams.GraphSvc.callTranscriptEventMessageDetail", "callId": "16481de8-3262-419b-abc7-0139e6239515", "callTranscriptICalUid": "", "meetingOrganizer": { "application": null, "device": null, "user": { "userIdentityType": "aadUser", "id": "14b779ae-cb64-47e7-a512-52fd50a4154d", "displayName": null } } } }, "encryptedContent": {} }
Событие завершения вызова:
callEndedEventMessageDetail
тип событияПример. Полезные данные для события завершения вызова
{ "subscriptionId": "1217470f-564c-4fe3-b51f-ebd962cb8797", "changeType": "created", "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34", "resource": "chats('19:meeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk@thread.v2')/messages('1649787585457')", "resourceData": {}, "contentDecryptedBySimulator": { "@odata.context": "https://graph.microsoft.com/$metadata#chats('19%3Ameeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk%40thread.v2')/messages/$entity", "createdDateTime": "2022-04-12T18:19:45.457Z", "lastModifiedDateTime": "2022-04-12T18:19:45.457Z", "chatId": "19:meeting_ZjVkMjc0ZWYtNThkMy00ZGI1LWFiYjAtYjg3ZGU0ZWI3MzZk@thread.v2", "eventDetail": { "@odata.type": "#Microsoft.Teams.GraphSvc.callEndedEventMessageDetail", "callId": null, "callDuration": "PT1M44S", "callEventType": "meeting", "callParticipants": [ ], "initiator": { } } }, "encryptedContent": { } }
Получение сущности чата: ваше приложение может извлечь сущность чата, используя идентификатор чата, полученный на шаге 1. Используйте сущность чата, чтобы получить URL-адрес для присоединения к вызову. Элемент
joinWebUrl
свойстваonlineMeetingInfo
содержит этот URL-адрес и, в конечном итоге, используется для получения идентификатора собрания. Идентификатор организатора также является частью полезных данных ответа.Дополнительные сведения о сущности чата см. в разделе Получение чата.
Используйте следующий пример для запроса сущности чата на основе идентификатора чата:
GET https://graph.microsoft.com/v1.0/chats/19:meeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2@thread.v2
Полезные данные ответа содержат следующие элементы:
Идентификатор организатора: он содержится в элементе
id
свойстваorganizer
в полезных данных ответа.URL-адрес для собрания: этот URL-адрес используется для получения идентификатора собрания и доступен в полезных данных ответа в одном из двух сценариев:
- Если собрание является онлайн-собранием Teams, элемент
joinWebUrl
свойстваonlineMeetingInfo
содержит этот URL-адрес. - Если собрание не было создано как онлайн-собрание из клиента Teams или Outlook, оно содержит элемент
calendarEventId
в свойствеonlineMeetingInfo
. Приложение может использоватьcalendarEventId
для полученияjoinUrl
, что аналогичноjoinWebUrl
.
Дополнительные сведения о событиях см. в разделе get event.
Примеры сценариев полезных данных ответа в зависимости от типа URL-адреса для присоединения к собранию:
Онлайн-собрание Teams, где доступен
joinWebUrl
Пример
. Полезные данные ответа для собрания по сети
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#chats/$entity", "id": "19:meeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2@thread.v2", "topic": "Test Meet Create Online Meeting", "createdDateTime": "2022-04-14T11:30:45.903Z", "lastUpdatedDateTime": "2022-04-26T06:27:45.265Z", "chatType": "meeting", "webUrl": "https://teams.microsoft.com/l/chat/19%3Ameeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2%40thread.v2/0?tenantId=2432b57b-0abd-43db-aa7b-16eadd115d34", "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34", "viewpoint": null, "onlineMeetingInfo": { "calendarEventId": null, "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d", "organizer": { "id": "14b779ae-cb64-47e7-a512-52fd50a4154d", "displayName": null, "userIdentityType": "aadUser" } } }
Собрание, запланированное через клиент Teams или Outlook, не помеченное как онлайн-собрание, где доступен
calendarEventId
Пример. Полезные данные ответа для собрания, не помеченного как "в сети"
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#chats/$entity", "id": "19:meeting_YzM1NGFiZWYtOGFiOS00NjM5LTg4OTktYmU0MjI4NTQyNGZm@thread.v2", "topic": "Non Online Meeting Teams Client", "createdDateTime": "2022-04-26T09:43:23.711Z", "lastUpdatedDateTime": "2022-04-26T09:43:46.157Z", "chatType": "meeting", "webUrl": "https://teams.microsoft.com/l/chat/19%3Ameeting_YzM1NGFiZWYtOGFiOS00NjM5LTg4OTktYmU0MjI4NTQyNGZm%40thread.v2/0?tenantId=2432b57b-0abd-43db-aa7b-16eadd115d34", "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34", "viewpoint": null, "onlineMeetingInfo": { "calendarEventId": "AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQBGAAAAAAD3AG5jNnlgQJvdCL_KgXJIBwBsww5BlIxtT7iFyYWrXV3AAAAAAAENAABsww5BlIxtT7iFyYWrXV3AAACSDwYeAAA=", "joinWebUrl": null, "organizer": { "id": "14b779ae-cb64-47e7-a512-52fd50a4154d", "displayName": null, "userIdentityType": "aadUser" } } }
Используйте следующий пример, чтобы получить
joinWebUrl
изcalendarEventId
:GET https://graph.microsoft.com/beta/users/14b779ae-cb64-47e7-a512-52fd50a4154d/events/AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQBGAAAAAAD3AG5jNnlgQJvdCL_KgXJIBwBsww5BlIxtT7iFyYWrXV3AAAAAAAENAABsww5BlIxtT7iFyYWrXV3AAACSDwYdAAA=
В этом примере:
- Идентификатор организатора — 14b779ae-cb64-47e7-a512-52fd50a4154d.
Полезные данные ответа этого запроса содержат
joinUrl
в свойствеonlineMeeting
.Примечание.
Элемент
joinUrl
аналогиченjoinWebUrl
.
Пример. Полезные данные ответа, содержащие URL-адрес для присоединения к собранию
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('14b779ae-cb64-47e7-a512-52fd50a4154d')/events/$entity", "@odata.etag": "W/\"bMMOQZSMbU+4hcmFq11dwAAAkc3Tmw==\"", "id": "AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQBGAAAAAAD3AG5jNnlgQJvdCL_KgXJIBwBsww5BlIxtT7iFyYWrXV3AAAAAAAENAABsww5BlIxtT7iFyYWrXV3AAACSDwYdAAA=", "start": { "dateTime": "2022-04-26T10:30:00.0000000", "timeZone": "UTC" }, "end": { "dateTime": "2022-04-26T11:00:00.0000000", "timeZone": "UTC" }, "onlineMeeting": { "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d" }, "calendar@odata.associationLink": "https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/calendars('AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQAuAAAAAAD3AG5jNnlgQJvdCL_KgXJIAQBsww5BlIxtT7iFyYWrXV3AAAAAAAENAAA=')/$ref", "calendar@odata.navigationLink": "https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/calendars('AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQAuAAAAAAD3AG5jNnlgQJvdCL_KgXJIAQBsww5BlIxtT7iFyYWrXV3AAAAAAAENAAA=')" }
- Если собрание является онлайн-собранием Teams, элемент
Получение идентификатора собрания. Теперь ваше приложение может использовать
joinWebUrl
для получения идентификатора собрания.Используйте следующий пример для запроса идентификатора онлайн-собрания:
GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings?$filter=JoinWebUrl%20eq%20'https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d'
Полезные данные ответа содержат идентификатор собрания в элементе
id
свойстваvalue
.Пример. Полезные данные ответа с идентификатором собрания
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings", "value": [ { "id": "MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19NVE01T1RZM01HVXRObVk0TWkwMFlqZzRMVGsyTURVdFkySXlaR1JsTm1VMVpqQTJAdGhyZWFkLnYy", "creationDateTime": "2022-04-26T07:41:17.3736455Z", "startDateTime": "2022-04-26T10:30:00Z", "endDateTime": "2022-04-26T11:00:00Z", "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d", "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2%40thread.v2/0?context=%7b%22Tid%22%3a%222432b57b-0abd-43db-aa7b-16eadd115d34%22%2c%22Oid%22%3a%2214b779ae-cb64-47e7-a512-52fd50a4154d%22%7d", "chatInfo": { "threadId": "19:meeting_MTM5OTY3MGUtNmY4Mi00Yjg4LTk2MDUtY2IyZGRlNmU1ZjA2@thread.v2", "messageId": "0", "replyChainMessageId": null } } ] }
Получение расшифровки или записи. Идентификатор организатора и идентификатор собрания, полученные на шагах 2 и 3, позволяют приложению получать расшифровки или записи для этого конкретного события собрания.
Чтобы получить расшифровку, необходимо:
Извлечь идентификатор расшифровки на основе идентификатора организатора и идентификатора собрания:
Используйте следующий пример для запроса идентификатора расшифровки:
GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts
В этом примере:
- Идентификатор собрания включен в качестве значения для
onlineMeetings
: MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bW VldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM 1pqWTJAdGhyZWFkLnYy. - Идентификатор организатора — 14b779ae-cb64-47e7-a512-52fd50a4154d.
Полезные данные ответа содержат идентификатор расшифровки для идентификатора собрания и идентификатора организатора в элементе
id
свойстваvalue
.Пример. Полезные данные ответа для получения идентификатора расшифровки
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts", "@odata.count": 1, "value": [ { "id": "MSMjMCMjMDEyNjJmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh", "createdDateTime": "2022-04-14T11:34:39.5662792Z" } ] }
В этом примере идентификатором расшифровки является MSMjMCMJMDEyNjjmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh.
- Идентификатор собрания включен в качестве значения для
Доступ к расшифровке собрания и ее извлечение на основе идентификатора расшифровки:
Используйте следующий пример, чтобы запросить расшифровки для конкретного собрания в формате
.vtt
:GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts('MSMjMCMjMDEyNjJmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh')/content?$format=text/vtt
Полезные данные ответа содержат расшифровки в
.vtt
формате .
Чтобы получить записи, вам потребуется:
Получите идентификатор записи на основе идентификатора организатора и идентификатора собрания:
Используйте следующий пример, чтобы запросить идентификатор записи:
GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/
В этом примере:
- Идентификатор собрания включается в качестве значения для
onlineMeetings
: MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMK6bWVl dGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1 PRGRtWmpsaVptRTNAdGhyZWFkLnYy. - Идентификатор организатора — b935e675-5e67-48b9-8d45-249d5f88e964.
Полезные данные ответа содержат идентификатор записи для идентификатора собрания и идентификатора организатора
id
в членеvalue
свойства .Пример. Полезные данные ответа для получения идентификатора записи
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings", "@odata.count": 1, "value": [ { "id": "7e31db25-bc6e-4fd8-96c7-e01264e9b6fc", "createdDateTime": "2023-04-10T08:13:17.5990966Z" } ] }
В этом примере идентификатор записи — 7e31db25-bc6e-4fd8-96c7-e01264e9b6fc.
- Идентификатор собрания включается в качестве значения для
Доступ и получение записи собрания на основе идентификатора записи:
Используйте следующий пример, чтобы запросить записи для определенного собрания в
.mp4
формате:GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc/content?$format=video/mp4
Полезные данные ответа содержат записи в
.mp4
формате .
Используйте Bot Framework для получения идентификатора собрания и идентификатора организатора
Ваше приложение может использовать Bot Framework для получения идентификатора собрания и идентификатора организатора. Бот может автоматически получать события начала или окончания собрания из всех запланированных онлайн-собраний.
Используйте следующий пример, чтобы получить идентификатор собрания и идентификатор организатора с помощью приложения-бота:
GET /v1/meetings/{meetingId}
Полезные данные ответа содержат:
- Идентификатор собрания в элементе
msGraphResourceId
свойстваdetails
. - Идентификатор организатора в элементе
id
свойстваorganizer
.
Пример. Полезные данные ответа для получения сведений о собрании
{
details: {
id: "MCMxOTptZWV0aW5nX05XTTFNVEk1TnpNdE5qZ3pNeTAwWVdRNExUaG1PV1F0WlRnM01UQm1PVGczWW1VekB0aHJlYWQudjIjMA==",
msGraphResourceId: "MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVldGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM1ltVXpAdGhyZWFkLnYy",
scheduledStartTime: {
},
scheduledEndTime: {
},
joinUrl: "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWM1MTI5NzMtNjgzMy00YWQ4LThmOWQtZTg3MTBmOTg3YmUz%40thread.v2/0?context=%7b%22Tid%22%3a%22b3cdf1c8-024a-49e2-a994-f67f830b02f3%22%2c%22Oid%22%3a%226702afb6-109b-4c32-a141-6e65469502b9%22%7d",
title: "Testing meeting bot 1 - Hun",
type: "Scheduled",
},
conversation: {
id: "19:meeting_NWM1MTI5NzMtNjgzMy00YWQ4LThmOWQtZTg3MTBmOTg3YmUz@thread.v2",
isGroup: true,
conversationType: "groupChat",
},
organizer: {
id: "29:1VZkVr77S3GW_RdAXKrfgFeytpqMegL3tkKvEbwrPqoCVvmqrlKtVrfKWUY7xIM-bZIx4Sq-p1MjdjSZnb5W20w",
tenantId: "b3cdf1c8-024a-49e2-a994-f67f830b02f3",
aadObjectId: "6702afb6-109b-4c32-a141-6e65469502b9",
},
}
В этом примере:
- Идентификатор собрания включен в качестве значения для
msGraphResourceId
: MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVl dGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM 1ltVXpAdGhyZWFkLnYy.
- Идентификатор организатора содержится в качестве значения для
aadObjectId
organizer
: 6702afb6-109b-4c32-a141-6e65469502b9.
После того как приложение получит идентификатор собрания и идентификатор организатора, оно активирует API Graph для получения содержимого расшифровки и записи с использованием этих сведений о собрании.
Примеры кода
Вы можете попробовать следующий пример кода для приложения-бота:
Название примера
Описание
.NET
Node.js
Транскрибирование собраний
Это пример приложения, в котором показано, как получить расшифровку собрания с помощью API Graph и отобразить его в диалоговом окне (в TeamsJS версии 1.x он называется модулем задач).
Просмотр
Просмотр
Расшифровка и запись собрания
Это пример приложения, в котором показано, как получить расшифровку и запись собрания с помощью API Graph.
Просмотр
Просмотр
Вкладка Запись собрания и расшифровка с автоматической записью
В этом примере кода показано, как создать и настроить приложение для собраний для автоматической записи и автоматической транскрибирования.
Просмотр
-
Следующий этап
См. также
. Полезные данные ответа для получения сведений о собрании
{
details: {
id: "MCMxOTptZWV0aW5nX05XTTFNVEk1TnpNdE5qZ3pNeTAwWVdRNExUaG1PV1F0WlRnM01UQm1PVGczWW1VekB0aHJlYWQudjIjMA==",
msGraphResourceId: "MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVldGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM1ltVXpAdGhyZWFkLnYy",
scheduledStartTime: {
},
scheduledEndTime: {
},
joinUrl: "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWM1MTI5NzMtNjgzMy00YWQ4LThmOWQtZTg3MTBmOTg3YmUz%40thread.v2/0?context=%7b%22Tid%22%3a%22b3cdf1c8-024a-49e2-a994-f67f830b02f3%22%2c%22Oid%22%3a%226702afb6-109b-4c32-a141-6e65469502b9%22%7d",
title: "Testing meeting bot 1 - Hun",
type: "Scheduled",
},
conversation: {
id: "19:meeting_NWM1MTI5NzMtNjgzMy00YWQ4LThmOWQtZTg3MTBmOTg3YmUz@thread.v2",
isGroup: true,
conversationType: "groupChat",
},
organizer: {
id: "29:1VZkVr77S3GW_RdAXKrfgFeytpqMegL3tkKvEbwrPqoCVvmqrlKtVrfKWUY7xIM-bZIx4Sq-p1MjdjSZnb5W20w",
tenantId: "b3cdf1c8-024a-49e2-a994-f67f830b02f3",
aadObjectId: "6702afb6-109b-4c32-a141-6e65469502b9",
},
}
В этом примере:
- Идентификатор собрания включен в качестве значения для
msGraphResourceId
: MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVl dGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM 1ltVXpAdGhyZWFkLnYy. - Идентификатор организатора содержится в качестве значения для
aadObjectId
organizer
: 6702afb6-109b-4c32-a141-6e65469502b9.
Platform Docs