Obter ID de reunião e ID de organizador
A sua aplicação pode obter transcrições e gravações de uma reunião com o ID da reunião e o ID de utilizador do organizador da reunião, também conhecido como ID do organizador. As APIs REST do Graph obtêm transcrições e gravações com base no ID da reunião e no ID do organizador que são transmitidos como parâmetros na API.
Observação
A ID de reunião para reuniões agendadas poderá expirar em alguns dias se ela não for usada. Ela pode ser revivida usando a URL da reunião para ingressar na reunião. Para obter mais informações sobre a linha cronológica de expiração da reunião para diferentes tipos de reuniões, consulte Expiração da reunião.
Para obter o ID da reunião e o ID do organizador para obter a transcrição e a gravação, escolha uma das duas formas:
Inscreva-se para alterar as notificações
Você pode inscrever seu aplicativo para receber notificações de alteração para eventos de reunião agendados. Quando a sua aplicação é notificada sobre os eventos de reunião subscritos, pode obter transcrições e gravações, se estiver autorizada através das permissões necessárias do Microsoft Entra.
Seu aplicativo recebe uma notificação sobre o tipo de eventos de reunião para os quais ele está inscrito:
Quando seu aplicativo é notificado de um evento de reunião inscrito, ele pode recuperar a ID de reunião e a ID de organizador da mensagem de notificação. Com base nos detalhes da reunião obtidos, a sua aplicação pode obter as transcrições e gravações da reunião após o fim da reunião.
Obter detalhes da reunião usando a notificação no nível do usuário
Opte por subscrever a sua aplicação a notificações ao nível do utilizador para obter transcrições e gravações do evento de reunião de um determinado utilizador. Seu aplicativo é notificado quando uma reunião for agendada para esse usuário. Seu aplicativo também pode receber notificações de reunião usando eventos de calendário.
Para subscrever a sua aplicação a eventos de calendário, consulte Alterar notificações de recursos do Outlook no Microsoft Graph.
Use o exemplo a seguir para se inscrever para notificações no nível do usuário:
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
}
Quando seu aplicativo é notificado sobre um evento de reunião inscrito, ele procura a ID de evento do calendário na notificação. Use a ID de evento para obter JoinWebUrl
para recuperar uma ID de chat específica e se inscrever para suas mensagens. Depois que seu aplicativo tiver inscrito para as mensagens de chat, siga as etapas fornecidas para notificações no nível do locatário para obter a ID de reunião e a ID de organizador.
Para obter a ID de reunião e a ID de organizador da notificação no nível do usuário:
Obter ID de evento: seu aplicativo obtém a propriedade
eventId
da carga de notificação.Exemplo: Payload de notificação
{ "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": {} }
Neste exemplo, o
eventID
contido emresource
é AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=.Obter URL da reunião: use a ID de evento para recuperar
joinUrl
que contém a URL da reunião.Para obter mais informações, veja Obter evento.
Use o exemplo a seguir para solicitar a URL da reunião:
GET https://graph.microsoft.com/v1.0/users/1273a016-201d-4f95-8083-1b7f99b3edeb/events/AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=
O conteúdo de resposta contém
joinURL
.Exemplo: Payload de resposta para obter o URL da reunião
{ "@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" } }
A URL da reunião está contida em
joinUrl
.Obter ID da conversa de chat: use a URL da reunião obtida em
joinUrl
para obter a ID da conversa de chat. Especifique essa URL de reunião como valor para o parâmetrojoinWebUrl
ao buscar a reunião relacionada.Use o exemplo a seguir para solicitar a ID da conversa de chat:
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'
O conteúdo de resposta contém o membro
threadID
na propriedadechatInfo
.Exemplo: Payload de resposta com O ID do thread
{ "@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 } } ] }
A ID de chat está contida em
threadId
.Inscrever-se para mensagens de chat: use a ID de chat para inscrever seu aplicativo e receber mensagens de chat para essa reunião específica. Para obter mais informações, consulte Subscrever mensagens numa conversa.
Se quiser que a sua aplicação subscreva mensagens com texto específico, consulte subscrever mensagens numa conversa que contenha determinado texto.
Siga as etapas para notificações no nível do locatário para obter a ID de reunião e a ID de organizador.
Obter detalhes da reunião usando a notificação no nível do locatário
As notificações ao nível do inquilino são úteis se a sua aplicação estiver autorizada a aceder a todas as transcrições e gravações de reuniões no inquilino. Subscreva a sua aplicação para ser notificada para eventos quando a transcrição e gravação é iniciada ou termina a chamada para reuniões agendadas online do Teams. Quando a reunião terminar, a sua aplicação pode aceder e obter a transcrição e gravação da reunião.
Para subscrever a sua aplicação a notificações ao nível do inquilino, veja Obter notificações de alteração.
Quando a sua aplicação é notificada sobre eventos de reunião subscritos, procura nas notificações:
- Eventos de transcrição iniciados.
- Os eventos da reunião terminaram.
Esses eventos contêm a ID de chat, que é usada para obter a entidade de chat e, eventualmente, a ID de reunião e a ID de organizador.
Para obter a ID de reunião e a ID de organizador da notificação no nível do locatário:
Obter ID de chat: seu aplicativo obtém a propriedade
chatId
da notificação para fazer chamadas subsequentes. Seu aplicativo pode obter a ID de chat dos conteúdos de:Evento de transcrição iniciada: tipo de evento
callTranscriptEventMessageDetail
Exemplo: Payload para o evento de transcrição iniciada
{ "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": {} }
Evento de chamada terminada:
callEndedEventMessageDetail
tipo de eventoExemplo: Payload para o evento de chamada terminada
{ "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": { } }
Obter entidade de chat: seu aplicativo pode recuperar a entidade de chat usando a ID de chat obtida na etapa 1. Use a entidade de chat para obter a URL para ingressar na chamada. O membro
joinWebUrl
da propriedadeonlineMeetingInfo
contém essa URL e é usada para obter a ID de reunião eventualmente. A ID de organizador também faz parte do conteúdo de resposta.Para obter mais informações sobre a entidade de chat, consulte Obter chat.
Use o exemplo a seguir para solicitar a entidade de chat com base na ID de chat:
GET https://graph.microsoft.com/v1.0/chats/19:meeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2@thread.v2
O conteúdo da resposta contém os seguintes elementos:
ID de organizador: ela está contida no membro
id
da propriedadeorganizer
na conteúdo da resposta.URL para chamada de reunião: essa URL é usada para recuperar a ID de reunião e está disponível no conteúdo da resposta em um dos dois cenários:
- Se a reunião for uma reunião online do Teams, o membro
joinWebUrl
da propriedadeonlineMeetingInfo
conterá essa URL. - Se a reunião não tiver sido criada como uma reunião online do cliente do Teams ou do cliente do Outlook, ela conterá o membro
calendarEventId
na propriedadeonlineMeetingInfo
. Seu aplicativo pode usar ocalendarEventId
para obterjoinUrl
, que é o mesmo quejoinWebUrl
.
Para obter mais informações sobre eventos, veja Obter evento.
Exemplos de cenários de conteúdo da resposta dependendo do tipo de URL de reunião de ingresso:
Reunião online do Teams onde
joinWebUrl
está disponívelExemplo
: Payload de resposta para reunião online
{ "@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" } } }
Reunião agendada por meio do cliente do Teams ou cliente do Outlook, não marcada como uma reunião online onde
calendarEventId
está disponívelExemplo: Payload de resposta para reunião não marcada como online
{ "@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" } } }
Use o exemplo a seguir para obter
joinWebUrl
a partir decalendarEventId
:GET https://graph.microsoft.com/beta/users/14b779ae-cb64-47e7-a512-52fd50a4154d/events/AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQBGAAAAAAD3AG5jNnlgQJvdCL_KgXJIBwBsww5BlIxtT7iFyYWrXV3AAAAAAAENAABsww5BlIxtT7iFyYWrXV3AAACSDwYdAAA=
Neste exemplo:
- A ID de organizador é 14b779ae-cb64-47e7-a512-52fd50a4154d.
O conteúdo da resposta dessa solicitação contém
joinUrl
na propriedadeonlineMeeting
.Observação
Por exemplo,
joinUrl
é o mesmo quejoinWebUrl
.
Exemplo: Payload de resposta que contém o URL para participar na reunião
{ "@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=')" }
- Se a reunião for uma reunião online do Teams, o membro
Obter ID de reunião: agora, seu aplicativo pode usar
joinWebUrl
para obter a ID de reunião.Use o exemplo a seguir para solicitar a ID de reunião online:
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'
O conteúdo da resposta contém a ID de reunião no membro
id
da propriedadevalue
.Exemplo: Payload de resposta com o ID da reunião
{ "@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 } } ] }
Obter transcrição ou gravação: o ID do organizador e o ID da reunião obtidos nos Passos 2 e 3 permitem que a sua aplicação obtenha as transcrições ou gravações desse evento de reunião específico.
Para buscar transcrições, você precisará:
Recupere a ID de transcrição com base na ID de organizador e na ID de reunião:
Use o exemplo a seguir para solicitar a ID de transcrição:
GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts
Neste exemplo:
- A ID de reunião está incluída como o valor para
onlineMeetings
: MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bW VldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM 1pqWTJAdGhyZWFkLnYy. - A ID de organizador é 14b779ae-cb64-47e7-a512-52fd50a4154d.
O conteúdo da resposta contém a ID de transcrição para a ID de reunião e a ID de organizador no membro
id
da propriedadevalue
.Exemplo: Payload de resposta para obter o ID de transcrição
{ "@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" } ] }
Neste exemplo, a ID de transcrição é MSMjMCMjMDEyNjJmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh.
- A ID de reunião está incluída como o valor para
Acesse e obtenha a transcrição da reunião com base na ID de transcrição:
Use o exemplo a seguir para solicitar as transcrições de uma reunião específica no formato
.vtt
:GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts('MSMjMCMjMDEyNjJmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh')/content?$format=text/vtt
O payload de resposta contém as transcrições no
.vtt
formato .
Para obter gravações, terá de:
Obtenha o ID de gravação com base no ID do organizador e no ID da reunião:
Utilize o exemplo seguinte para pedir o ID de gravação:
GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/
Neste exemplo:
- O ID da reunião está incluído como o valor para
onlineMeetings
: MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVl dGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1 PRGRtWmpsaVptRTNAdGhyZWFkLnYy. - O ID do organizador é b935e675-5e67-48b9-8d45-249d5f88e964.
O payload de resposta contém o ID de gravação do ID da reunião e o ID do organizador no
id
membro davalue
propriedade.Exemplo: Payload de resposta para obter o ID de gravação
{ "@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" } ] }
Neste exemplo, o ID de gravação é 7e31db25-bc6e-4fd8-96c7-e01264e9b6fc.
- O ID da reunião está incluído como o valor para
Aceda e obtenha a gravação da reunião com base no ID de gravação:
Utilize o seguinte exemplo para pedir as gravações para uma reunião específica no
.mp4
formato:GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc/content?$format=video/mp4
O payload de resposta contém as gravações no
.mp4
formato .
Usar o Bot Framework para obter a ID de reunião e a ID de organizador
Seu aplicativo pode usar o Bot Framework para obter a ID de reunião e a ID de organizador. O bot pode receber eventos de início ou término de reunião automaticamente de todas as reuniões online agendadas.
Use o exemplo a seguir para obter a ID de reunião e a ID de organizador usando um aplicativo de bot:
GET /v1/meetings/{meetingId}
O conteúdo da resposta contém:
- A ID de reunião no membro
msGraphResourceId
da propriedadedetails
. - A ID de organizador no membro
id
da propriedadeorganizer
.
Exemplo: Payload de resposta para obter detalhes da reunião
{
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",
},
}
Neste exemplo:
- A ID de reunião está incluída como o valor para
msGraphResourceId
: MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVl dGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM 1ltVXpAdGhyZWFkLnYy.
- O ID do organizador está contido como o valor para
aadObjectId
organizer
: 6702afb6-109b-4c32-a141-6e65469502b9.
Depois de a sua aplicação obter o ID da reunião e o ID do organizador, aciona as Graph APIs para obter conteúdo de transcrição e gravação com estes detalhes da reunião.
Exemplos de código
Você pode experimentar o exemplo de código a seguir para um aplicativo de bot:
Nome de exemplo
Descrição
.NET
Node.js
Transcrição de reunião
Esta é uma aplicação de exemplo que demonstra como obter a transcrição de reuniões com a Graph API e mostrá-la na caixa de diálogo (referida como módulo de tarefas no TeamsJS v1.x).
View
View
Transcrição e gravação de reuniões
Esta é uma aplicação de exemplo que demonstra como obter a transcrição e gravação de reuniões com a Graph API.
View
View
Gravação e transcrição da Reunião de Tabulação com gravação automática
Este exemplo de código demonstra como criar e configurar uma aplicação de reunião para gravação automática e transcrição automática.
View
-
Próxima etapa
Confira também
: Payload de resposta para obter detalhes da reunião
{
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",
},
}
Neste exemplo:
- A ID de reunião está incluída como o valor para
msGraphResourceId
: MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVl dGluZ19OV00xTVRJNU56TXROamd6TXkwMFlXUTRMVGhtT1dRdFpUZzNNVEJtT1RnM 1ltVXpAdGhyZWFkLnYy. - O ID do organizador está contido como o valor para
aadObjectId
organizer
: 6702afb6-109b-4c32-a141-6e65469502b9.