Obtener grabación de llamadas

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Obtenga un objeto callRecording asociado a una reunión en línea programada y una llamada ad hoc. Esta API admite la recuperación de grabaciones de llamadas de todos los tipos de reunión, excepto los eventos en directo.

Para una grabación, esta API devuelve los metadatos de la única grabación asociada a la reunión en línea o a una llamada ad hoc. Para el contenido de una grabación, esta API devuelve el flujo de bytes asociado a la grabación.

Nota:

Para reuniones en línea:

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ❌

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) OnlineMeetingRecording.Read.All (para reuniones en línea)
CallRecording.Read.All (para llamadas ad hoc)
No disponible.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación OnlineMeetingRecording.Read.All,
OnlineMeetingRecording.Read. Chat (para reuniones en línea)
CallRecordings.Read.All (para llamadas ad hoc)
No disponible.

Nota:

  • En escenarios de permisos delegados, obtener contenido de callRecording solo es compatible con el organizador de la reunión. Los participantes de la reunión no tienen permiso para descargar grabaciones de la reunión. Para obtener más información, vea permisos o acceso basado en roles.
  • En el caso de las reuniones en línea, los administradores de inquilinos pueden desbloquear a los participantes de la reunión para descargar las grabaciones de la reunión. En el caso de las llamadas ad hoc, los administradores de inquilinos pueden conceder en nombre de los usuarios que realicen la llamada. Para obtener más información, consulte bloquear la descarga de archivos de grabación de reuniones de Teams.
  • El permiso OnlineMeetingRecording.Read.Chat de aplicación utiliza el consentimiento específico del recurso. Este permiso solo se aplica a las reuniones de chat privado programadas, no a las reuniones de canal.

Para usar permisos de aplicación para esta API, los administradores de inquilinos deben crear una directiva de acceso a la aplicación y concederla a un usuario. Autoriza a la aplicación configurada en la directiva a capturar reuniones en línea o artefactos de reuniones en línea en nombre de ese usuario (con el identificador de usuario especificado en la ruta de acceso de la solicitud). Para obtener más información, consulte Permitir que las aplicaciones accedan a reuniones en línea en nombre de un usuario.

Nota:

  • La API de reuniones en línea está disponible para una reunión que no ha expirado. Para obtener más información, consulte Límites y especificaciones de Microsoft Teams.
  • Para una reunión en línea, la API respectiva también está disponible para los usuarios que forman parte de la invitación del calendario de reuniones, que se aplica tanto a las reuniones de chat privado como a las reuniones de canal.

Solicitud HTTP

Para obtener una única grabación para una reunión en línea

GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}

Obtener el contenido de una sola grabación

GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}/content
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content

Para obtener una única grabación para una llamada ad hoc

GET /me/adhocCalls/{callId}/recordings/{recordingId}
GET /users/{userId}/adhocCalls/{callId}/recordings/{recordingId}

Obtener el contenido de una sola grabación

GET /me/adhocCalls/{callId}/recordings/{recordingId}/content
GET /users/{userId}/adhocCalls/{callId}/recordings/{recordingId}/content

Parámetros de consulta opcionales

Este método admite el $selectparámetro de consulta OData para personalizar la respuesta.

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si tiene éxito, este método devuelve un 200 OK código de respuesta y un objeto callRecording en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Obtener una grabación de llamada para una reunión en línea

En el ejemplo siguiente se muestra cómo obtener una única grabación de una reunión en línea.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota:

El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/$entity",
  "id": "7e31db25-bc6e-4fd8-96c7-e01264e9b6fc",
  "meetingId": "MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy",
  "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
  "createdDateTime": "2023-04-10T08:13:17.5990966Z",
  "endDateTime": "2024-01-29T09:27:25.2346000Z",
  "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
  "recordingContentUrl": "https://graph.microsoft.com/beta/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/('7e31db25-bc6e-4fd8-96c7-e01264e9b6fc')/content",
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "@odata.type": "#Microsoft.Teams.GraphSvc.teamworkUserIdentity",
      "id": "b935e675-5e67-48b9-8d45-249d5f88e964",
      "displayName": null,
      "userIdentityType": "aadUser",
      "tenantId": "d6c9ce1e-4f71-8dc3-5b55-6a411ea46324"
    }
  }
}

Ejemplo 2: Obtener una grabación de llamadas para una llamada ad hoc

En el ejemplo siguiente se muestra cómo obtener una sola grabación de una llamada ad hoc.

Solicitud

GET https://graph.microsoft.com/beta/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/VjMjIzE5OjVhYjlkNjhlMTQ4ZTQ4MjU4ZmJjMzlmMDhlMzk5MjdjQHRocmVhZC52MiMjMWM5ZGRiYzktODJiZS00NmI2LThlZGQtYmY4MzNmZTMzYTAzLTE3NTQ4OTU0MzctUmVjb3JkaW5nIyMw

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f2e8e111-3887-4936-87f8-639292c70d34')/adhocCalls('1c9ddbc9-82be-46b6-8edd-bf833fe33a03')/recordings/$entity",
    "id": "VjMjIzE5OjVhYjlkNjhlMTQ4ZTQ4MjU4ZmJjMzlmMDhlMzk5MjdjQHRocmVhZC52MiMjMWM5ZGRiYzktODJiZS00NmI2LThlZGQtYmY4MzNmZTMzYTAzLTE3NTQ4OTU0MzctUmVjb3JkaW5nIyMw",
    "callId": "1c9ddbc9-82be-46b6-8edd-bf833fe33a03",	 
    "createdDateTime": "2025-08-11T06:57:17.4065904Z",
    "endDateTime": "2025-08-11T06:57:28.2265904Z",
    "contentCorrelationId": "58cfc66a-710f-4be7-adc0-1ca5a28f2c0c-0",
    "recordingContentUrl": "https://graph.microsoft.com/beta/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/VjMjIzE5OjVhYjlkNjhlMTQ4ZTQ4MjU4ZmJjMzlmMDhlMzk5MjdjQHRocmVhZC52MiMjMWM5ZGRiYzktODJiZS00NmI2LThlZGQtYmY4MzNmZTMzYTAzLTE3NTQ4OTU0MzctUmVjb3JkaW5nIyMw/content",
    "meetingOrganizer": {
        "application": null,
        "device": null,
        "user": {
            "@odata.type":"#microsoft.graph.teamworkUserIdentity",
            "id":"f2e8e111-3887-4936-87f8-639292c70d34",
            "displayName":null,
            "userIdentityType":"aadUser",
            "tenantId": "8393309d-9fb7-4cce-aafb-eedc8c5781e2"
        }
    }   
}

Ejemplo 3: Obtener contenido de callRecording para una reunión en línea

En el ejemplo siguiente se muestra cómo obtener el contenido de una sola grabación de una reunión en línea.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc/content

Respuesta

El siguiente ejemplo contiene bytes de la grabación en el cuerpo de la respuesta. El content-type encabezado especifica el tipo de contenido de la grabación. Los desplazamientos negativos indican que la grabación comenzó mientras la conversación estaba en curso.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-Type: video/mp4

<bytes of a recording>

Ejemplo 4: Recibir una llamadaGrabación de contenido para una llamada ad hoc

Solicitud

GET https://graph.microsoft.com/beta/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/VjMjIzE5OjVhYjlkNjhlMTQ4ZTQ4MjU4ZmJjMzlmMDhlMzk5MjdjQHRocmVhZC52MiMjMWM5ZGRiYzktODJiZS00NmI2LThlZGQtYmY4MzNmZTMzYTAzLTE3NTQ4OTU0MzctUmVjb3JkaW5nIyMw/content

Respuesta

La respuesta contiene bytes para la grabación en el cuerpo. El content-type encabezado especifica el tipo de contenido de la grabación. Los desplazamientos negativos indican que la grabación comenzó mientras la conversación estaba en curso.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-Type: video/mp4

<bytes of a recording>

Ejemplo 5: Obtener un callRecording para una reunión en línea de una transcripción correspondiente mediante contentCorrelationId

En el ejemplo siguiente se muestra cómo obtener una única grabación de una reunión en línea correspondiente a una transcripción mediante la propiedad contentCorrelationId .

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/me/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy/recordings?$filter=contentcorrelationId+eq+'e87c8cf8-50f7-4252-8b9c-ad08ac0fa88d-0'

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('1273a016-201d-4f95-8083-1b7f99b3edeb')/onlineMeetings('MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy')/recordings",
    "@odata.count": 1,
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me/onlineMeetings('<key>')/recordings?$select=callId,content",
    "value": [
        {
            "id": "VjIjIzExMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDA3ZjYyNjg0ZmQ0ZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDRiZWQ5YTIzZGMyZmZmNDY4OTc4OTg0NjU2ZjI3MjE5IyM5YzM3ZDZhMS1mNGJmLTRjZWMtOTFmYS0xNDc1MGUwNzFhMTg=",
            "meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy",
            "callId": "26c38520-e74d-4391-8188-cb458d413825",
            "contentCorrelationId": "e87c8cf8-50f7-4252-8b9c-ad08ac0fa88d-0",
            "createdDateTime": "2024-07-12T11:37:59.0113199Z",
            "endDateTime": "2024-07-12T11:38:11.3313199Z",
            "recordingContentUrl": "https://graph.microsoft.com/beta/users/1273a016-201d-4f95-8083-1b7f99b3edeb/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy/recordings/VjIjIzExMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDA3ZjYyNjg0ZmQ0ZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDRiZWQ5YTIzZGMyZmZmNDY4OTc4OTg0NjU2ZjI3MjE5IyM5YzM3ZDZhMS1mNGJmLTRjZWMtOTFmYS0xNDc1MGUwNzFhMTg=/content",
            "meetingOrganizer": {
                "application": null,
                "device": null,
                "user": {
                    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
                    "id": "1273a016-201d-4f95-8083-1b7f99b3edeb",
                    "displayName": null,
                    "userIdentityType": "aadUser",
                    "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
                }
            }
        }
    ]
}