Compartir a través de


Obtener id. de reunión e id. de organizador

La aplicación puede capturar transcripciones y grabaciones de una reunión mediante el identificador de reunión y el identificador de usuario del organizador de la reunión, también conocido como identificador de organizador. Las API REST de Graph capturan transcripciones y grabaciones basadas en el identificador de reunión y el identificador del organizador que se pasan como parámetros en la API.

Nota:

El id. de reunión de las reuniones programadas puede expirar en algunos días si no se usa. Se puede recuperar usando la dirección URL de la reunión para unirse a la reunión. Para obtener más información sobre la escala de tiempo de expiración de reuniones para diferentes tipos de reuniones, consulte Expiración de reuniones.

Para obtener el identificador de reunión y el identificador del organizador para capturar la transcripción y la grabación, elija una de las dos maneras:

Suscríbase para cambias las notificaciones

Puede suscribir su aplicación para recibir notificaciones de cambios para eventos de reunión programados. Cuando se notifica a la aplicación sobre los eventos de reunión suscritos, puede obtener transcripciones y grabaciones, si está autorizada a través de los permisos necesarios de Microsoft Entra.

La aplicación recibe una notificación sobre el tipo de eventos de reunión para los que está suscrita:

Cuando se notifica a la aplicación de un evento de reunión suscrito, puede recuperar el id. de reunión y el identificador del organizador del mensaje de notificación. En función de los detalles de la reunión obtenidos, la aplicación puede capturar las transcripciones y grabaciones de la reunión una vez finalizada la reunión.

Obtener detalles de la reunión mediante la notificación de nivel de usuario

Elija suscribir la aplicación a notificaciones de nivel de usuario para obtener transcripciones y grabaciones del evento de reunión de un usuario determinado. Cuando se programa una reunión para ese usuario, se notifica a la aplicación. La aplicación también puede recibir notificaciones de reuniones mediante eventos de calendario.

Para suscribir la aplicación a eventos de calendario, consulte Notificaciones de cambios para recursos de Outlook en Microsoft Graph.

Use el ejemplo siguiente para suscribirse a notificaciones de nivel de usuario:

    
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
}

Cuando se notifica a la aplicación sobre un evento de reunión suscrito, busca el identificador de evento de calendario en la notificación. Use el identificador de evento para obtener JoinWebUrl para recuperar un identificador de chat específico y suscribirse a sus mensajes. Una vez que la aplicación se haya suscrito a los mensajes de chat, siga los pasos indicados para las notificaciones de nivel de inquilino para obtener el identificador de reunión y el identificador del organizador.

Para obtener el id. de reunión y el identificador del organizador de la notificación de nivel de usuario:

  1. Obtener id. de evento: la aplicación obtiene la propiedad eventId de la carga de notificación.

    Ejemplo: Carga de notificación
    {
        "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": {}
    }
    

    En este ejemplo, el eventID contenido en resource es AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=.

  2. Obtener la dirección URL de la reunión: use el identificador de evento para recuperar joinUrl que contiene la dirección URL de la reunión.

    Para obtener más información, consulte get event( Obtener evento).

    Use el ejemplo siguiente para solicitar la dirección URL de la reunión:

    GET https://graph.microsoft.com/v1.0/users/1273a016-201d-4f95-8083-1b7f99b3edeb/events/AAMkADY0NjM1MjRhLTNiNjAtNDBiOC1hYTQxLThkMjAxN2QzMjZhYQBGAAAAAAC03Gz8aL_JQp2Kxvw5a29SBwDFFWHjtoMRTqdrVyQ1h8yLAAAAAAENAADFFWHjtoMRTqdrVyQ1h8yLAAFwC7nAAAA=
    

    La carga de respuesta contiene joinURL.

    Ejemplo: Carga de respuesta para obtener la dirección URL de la reunión
    {
        "@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"
        }    
    }
    

    La dirección URL de la reunión se encuentra en joinUrl.

  3. Obtener id. de conversación de chat: use la dirección URL de la reunión obtenida en joinUrl para obtener el identificador de la conversación de chat. Especifique esta dirección URL de reunión como valor para el parámetro joinWebUrl al capturar la reunión relacionada.

    Use el ejemplo siguiente para solicitar el identificador de conversación:

    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'
    

    La carga de respuesta contiene el miembro threadID de la propiedad chatInfo.

    Ejemplo: Carga de respuesta con identificador de subproceso
    {
        "@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
                }
            }
        ]
    }
    

    El identificador de chat se encuentra en threadId.

  4. Suscribirse a mensajes de chat: use el identificador de chat para suscribir su aplicación y recibir mensajes de chat para esa reunión en particular. Para obtener más información, consulte Suscripción a mensajes en un chat.

    Si quieres que tu aplicación se suscriba a mensajes con texto específico, consulta Suscribirte a mensajes en un chat que contenga determinado texto.

  5. Siga los pasos para las notificaciones de nivel de inquilino para obtener el identificador de reunión y el identificador del organizador.

Obtener detalles de la reunión mediante la notificación de nivel de inquilino

Las notificaciones de nivel de inquilino son útiles si la aplicación está autorizada para acceder a todas las transcripciones y grabaciones de reuniones en todo el inquilino. Suscríbase a la aplicación para recibir notificaciones de eventos cuando se inicie la transcripción y grabación o finalice la llamada para las reuniones programadas de Teams en línea. Una vez finalizada la reunión, la aplicación puede acceder a la transcripción y la grabación de la reunión y recuperarla.

Para suscribir la aplicación a notificaciones de nivel de inquilino, consulte Obtención de notificaciones de cambio.

Cuando se notifica a la aplicación sobre los eventos de reunión suscritos, busca en las notificaciones:

  • Eventos iniciados de transcripción.
  • Eventos finalizados de reunión.

Estos eventos contienen el identificador de chat, que se usa para obtener la entidad de chat y, finalmente, el identificador de reunión y el identificador del organizador.

Para obtener el id. de reunión y el identificador del organizador de la notificación de nivel de inquilino:

  1. Obtener identificador de chat: la aplicación obtiene la propiedad chatId de la notificación para realizar llamadas posteriores. La aplicación puede obtener el identificador de chat de las cargas de:

    • Evento de transcripción iniciada: tipo de evento callTranscriptEventMessageDetail

      Ejemplo: carga útil para el evento iniciado de transcripción
      {
      "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 finalizado de llamada: callEndedEventMessageDetail tipo de evento

      Ejemplo: Carga útil para el evento de llamada finalizada
      {
          "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": {
      
          }
      }
      
  2. Obtener entidad de chat: la aplicación puede recuperar la entidad de chat mediante el identificador de chat obtenido en el paso 1. Use la entidad de chat para obtener la dirección URL para unirse a la llamada. El miembro joinWebUrl de la propiedad onlineMeetingInfo contiene esta dirección URL y se usa finalmente para obtener el identificador de reunión. El identificador del organizador también forma parte de la carga de respuesta.

    Para obtener más información sobre la entidad de chat, vea Obtener chat.

    Use el ejemplo siguiente para solicitar una entidad de chat basada en el identificador de chat:

    GET https://graph.microsoft.com/v1.0/chats/19:meeting_NmU0NTkxYzMtM2Y2My00NzRlLWFmN2YtNTFiMGM5OWM3ZjY2@thread.v2
    

    La carga de respuesta contiene los siguientes elementos:

    • Identificador del organizador: se encuentra en el miembro id de la propiedad organizer en la carga de respuesta.

    • Dirección URL de la llamada a la reunión: esta dirección URL se usa para recuperar el identificador de la reunión y está disponible en la carga de respuesta en uno de los dos escenarios:

      • Si la reunión es una reunión de Teams en línea, el miembro joinWebUrl de la propiedad onlineMeetingInfo contiene esta dirección URL.
      • Si la reunión no se creó como una reunión en línea desde el cliente de Teams o el cliente de Outlook, contiene el miembro calendarEventId en la propiedad onlineMeetingInfo. La aplicación puede usar calendarEventId para obtener joinUrl, que es igual que joinWebUrl.

      Para obtener más información sobre los eventos, consulte get event.

      Ejemplos de escenarios de carga de respuesta en función del tipo de dirección URL para unirse a la reunión:

      • Reunión de Teams en línea donde joinWebUrl está disponible

        Ejemplo
        : Carga de respuesta para una reunión en línea
        {
            "@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ón programada a través del cliente de Teams o el cliente de Outlook, no marcada como una reunión en línea en la que calendarEventId está disponible

        Ejemplo: Carga de respuesta para la reunión no marcada como en línea
        {
            "@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 el ejemplo siguiente para obtener joinWebUrl del calendarEventId:

            GET https://graph.microsoft.com/beta/users/14b779ae-cb64-47e7-a512-52fd50a4154d/events/AAMkAGE3NjJhOTVhLTNkZDQtNDE2OS05ZjU0LTJmOGQ0YTY2YTdiZQBGAAAAAAD3AG5jNnlgQJvdCL_KgXJIBwBsww5BlIxtT7iFyYWrXV3AAAAAAAENAABsww5BlIxtT7iFyYWrXV3AAACSDwYdAAA=
          

          En este ejemplo:

          • El identificador del organizador es 14b779ae-cb64-47e7-a512-52fd50a4154d.

          La carga de respuesta de esta solicitud contiene joinUrl en la propiedad onlineMeeting.

          Nota:

          joinUrl es igual que joinWebUrl.


          Ejemplo: Carga de respuesta que contiene la dirección URL para unirse a la reunión
          {
            "@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=')"
            }
          
  3. Obtener id. de reunión: ahora, la aplicación puede usar joinWebUrl para obtener el identificador de reunión.

    Use el ejemplo siguiente para solicitar el identificador de reunión en línea:

    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'
    

    La carga de respuesta contiene el identificador de reunión en el miembro id de la propiedad value.

    Ejemplo: Carga de respuesta con identificador de reunión
    {
        "@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
                }
            }
        ]
    }
    
  4. Capturar transcripción o grabación: el identificador del organizador y el identificador de reunión obtenidos en los pasos 2 y 3 permiten a la aplicación capturar las transcripciones o grabaciones para ese evento de reunión determinado.

    • Para capturar transcripciones, deberá:

      1. Recupere el id. de transcripción en función del identificador del organizador y del id. de reunión:

        Use el ejemplo siguiente para solicitar el identificador de transcripción:

        GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts
        

        En este ejemplo:

        • El id. de reunión se incluye como el valor de onlineMeetings: MSoxNGI3N skypehZS1jYjY0LTQ3ZTctYTUxMi01MmZkNT MeetingNDE1NGQqMCoqMTk6bW VldGluZ19ObVUwTlRreFl6TXRNMlkyTX trackME56UmxMV0ZtTjJZdE5URmlNR001T1dNM 1pqWTJAdGhyZWFkLnYy.
        • El identificador del organizador es 14b779ae-cb64-47e7-a512-52fd50a4154d.

        La carga de respuesta contiene el identificador de transcripción para el id. de reunión y el identificador del organizador en el miembro id de la propiedad value.

        Ejemplo: Carga de respuesta para obtener el identificador de transcripción
        {
        "@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"
            }
        ]
        }
        

        En este ejemplo, el identificador de la transcripción es MSMjMCMjMD Tokens TokensJm TokensgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh.

      2. Acceda a la transcripción de la reunión y obténgala en función del identificador de transcripción:

        Use el ejemplo siguiente para solicitar las transcripciones de una reunión específica en el formato .vtt:

         GET https://graph.microsoft.com/beta/users('14b779ae-cb64-47e7-a512-52fd50a4154d')/onlineMeetings('MSoxNGI3NzlhZS1jYjY0LTQ3ZTctYTUxMi01MmZkNTBhNDE1NGQqMCoqMTk6bWVldGluZ19ObVUwTlRreFl6TXRNMlkyTXkwME56UmxMV0ZtTjJZdE5URmlNR001T1dNM1pqWTJAdGhyZWFkLnYy')/transcripts('MSMjMCMjMDEyNjJmNjgtOTc2Zi00MzIxLTlhNDQtYThmMmY4ZjQ1ZjVh')/content?$format=text/vtt
        

        La carga de respuesta contiene las transcripciones en el .vtt formato .

    • Para capturar grabaciones, deberá hacer lo siguiente:

      1. Recupere el identificador de grabación en función del identificador del organizador y del identificador de reunión:

        Use el ejemplo siguiente para solicitar el identificador de grabación:

        GET  https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/
        

        En este ejemplo:

        • El identificador de reunión se incluye como el valor de onlineMeetings: MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVl dGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1 PRGRtWmpsaVptRTNAdGhyZWFkLnYy.
        • El identificador del organizador es b935e675-5e67-48b9-8d45-249d5f88e964.

        La carga de respuesta contiene el identificador de grabación para el identificador de reunión y el identificador del organizador en el id miembro de la value propiedad .

        Ejemplo: Carga de respuesta para obtener el identificador de grabación
        {
        "@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"
            }
        ]
        }
        

        En este ejemplo, el identificador de grabación es 7e31db25-bc6e-4fd8-96c7-e01264e9b6fc.

      2. Acceda a la grabación de reuniones y obtengala en función del identificador de grabación:

        Use el ejemplo siguiente para solicitar las grabaciones de una reunión específica en el .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
        

        La carga de respuesta contiene las grabaciones en el .mp4 formato .

Usar Bot Framework para obtener el id. de reunión y el identificador del organizador

La aplicación puede usar el Bot Framework para obtener el id. de reunión y el identificador del organizador. El bot puede recibir automáticamente eventos de inicio o finalización de reuniones de todas las reuniones en línea programadas.

Use el ejemplo siguiente para obtener el identificador de reunión y el identificador del organizador mediante una aplicación de bot:

GET /v1/meetings/{meetingId}

La carga de respuesta contiene:

  • Id. de reunión del miembro msGraphResourceId de la propiedad details.
  • Identificador del organizador en el miembro id de la propiedad organizer.
Ejemplo
: Carga de respuesta para obtener detalles de la reunión
{
  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",
  },
}

En este ejemplo:

  • El identificador de reunión se incluye como el valor de msGraphResourceId: MSo2NzAyYWZiNi0xMDliLTRjMzItYTE0MS02ZTY1NDY5NTAyYjkqMCoqMTk6bWVl dGluZ19OV00xTVRJNU56TXROamd6TltMFlAUTOTRMVGht1dRdFpUZzNNVEJtT1RnM 1ltVXpAdGhyZWFkLnYy.
  • El identificador del organizador se incluye como el valor para aadObjectIdorganizer: 6702afb6-109b-4c32-a141-6e65469502b9.

Una vez que la aplicación obtiene el identificador de reunión y el identificador del organizador, desencadena las API de Graph para capturar el contenido de la transcripción y la grabación mediante estos detalles de la reunión.

Ejemplos de código

Puede probar el siguiente ejemplo de código para una aplicación de bot:

Ejemplo de nombre Descripción .NET Node.js
Transcripción de reuniones Se trata de una aplicación de ejemplo que muestra cómo obtener la transcripción de la reunión mediante Graph API y mostrarla en el cuadro de diálogo (denominado módulo de tareas en TeamsJS v1.x). View View
Transcripción y grabación de reuniones Se trata de una aplicación de ejemplo que muestra cómo obtener la transcripción y grabación de reuniones mediante Graph API. View View
Grabación y transcripción de la reunión de tabulación con grabación automática En este ejemplo de código se muestra cómo compilar y configurar una aplicación de reunión para la grabación automática y la transcripción automática. View -

Paso siguiente

Vea también