Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las API de exportación de Teams le permiten exportar mensajes individuales, chats de grupo, chats de reunión y mensajes de canal de Microsoft Teams. Si su organización necesita exportar mensajes de Microsoft Teams, podrá extraerlos mediante las API de exportación de Teams. Mensaje de chat representa un mensaje de chat individual dentro de un canal o chat. El mensaje de chat puede ser un mensaje de chat raíz o parte de un hilo de respuesta definido por la propiedad replyToId en el mensaje de chat.
Estos son algunos ejemplos sobre cómo puede usar estas API de exportación:
Ejemplo 1: si ha habilitado Microsoft Teams en su organización y desea exportar todos los mensajes de Microsoft Teams a la fecha mediante programación pasando el intervalo de fechas de un usuario o equipo determinado.
Ejemplo 2: Si desea exportar mediante programación todos los mensajes de usuario o equipo diariamente proporcionando un intervalo de fechas. Las API de exportación pueden recuperar todos los mensajes creados o actualizados durante el intervalo de fechas especificado.
Ejemplo 3: Si desea exportar mediante programación los vínculos a las grabaciones de reuniones de Teams para un organizador de reuniones determinado y, a continuación, descargar las grabaciones reales.
Ejemplo 4: Si quieres exportar mediante programación los vínculos a las transcripciones de reuniones de Teams de un organizador de reuniones determinado y a continuación, descargar las transcripciones reales.
¿Qué admiten las API de exportación de Teams?
Exportación masiva de mensajes de Teams: Consulte los límites de las API de exportación de Teams. Con estos límites, debería poder exportar mensajes de Teams de forma masiva.
Límite superior para el mensaje de Teams: Se recomienda que el límite de filtro TOP para las API de mensajes de Teams se establezca en 250 como el límite máximo más allá del cual se limitaría el rendimiento.
Nota
El valor $top es una sugerencia máxima y no un tamaño de página garantizado. Debido a cómo se capturan los mensajes de varias carpetas o buzones de Outlook subyacentes, una respuesta puede devolver menos elementos de los solicitados e incluir una @odata.nextLink para continuar la recuperación desde otras carpetas. Este comportamiento es una característica del diseño de la aplicación.
Contexto de la aplicación: Para llamar a Microsoft Graph, la aplicación debe adquirir un token de acceso de la Plataforma de identidad de Microsoft. El token de acceso contiene información sobre la aplicación y los permisos que tiene para los recursos y las API disponibles a través de Microsoft Graph. Para obtener un token de acceso, la aplicación debe estar registrada en la Plataforma de identidad de Microsoft. Un usuario o un administrador deben autorizarlo para acceder a los recursos de Microsoft Graph que necesita. Si ya está familiarizado con la integración de una aplicación con la Plataforma de identidad de Microsoft para obtener tokens, consulte la sección Pasos siguientes para obtener información y ejemplos específicos de Microsoft Graph.
Entorno híbrido: Las API de exportación admiten mensajes enviados por usuarios aprovisionados en un entorno híbrido (local, Exchange y Teams). Se puede acceder a todos los mensajes enviados por los usuarios configurados para un entorno híbrido mediante las API de exportación.
Mensajes eliminados de usuario: Se puede acceder a los mensajes eliminados por los usuarios del cliente de Teams mediante API de exportación hasta 21 días desde el momento de la eliminación.
Archivos adjuntos del mensaje: Las API de exportación incluyen información de datos adjuntos para los archivos enviados en mensajes. Los datos adjuntos pueden aparecer como metadatos y, en algunos casos, como vínculos (por ejemplo, direcciones URL de ASM) dentro del cuerpo del mensaje. La colección del mensaje debe usarse para recuperar archivos adjuntos
attachments, ya que es posible que las direcciones URL incrustadas en el cuerpo no sean accesibles directamente.Reacciones: Las API de exportación admiten reacciones iniciadas por un usuario en un mensaje de Teams. Las reacciones admitidas actualmente son corazón, enfado, me gusta, triste, sorprendido y risa. Además de las reacciones, la API de exportación también admite el historial de edición de reacciones, que incluye los cambios y actualizaciones realizados en una reacción de un mensaje.
Nota
Las reacciones personalizadas con cambios de color no son compatibles actualmente con la API de exportación.
Mensajes de canal compartido: Las API de exportación admiten la captura de mensajes de un canal compartido.
Equipos eliminados: La API de exportación admite la captura de mensajes de Teams eliminados y canales estándar, privados y compartidos eliminados durante un máximo de 30 días a partir del día de la eliminación. Después de 30 días, los equipos y canales se eliminan de forma permanente y los mensajes no se pueden recuperar.
Usuarios eliminados: la API de exportación admite la captura de mensajes para usuarios eliminados hasta 30 días desde el momento en que se eliminó el usuario. Para encontrar la lista de usuarios eliminados, consulte Elementos eliminados.
Usuarios inactivos: la API de exportación admite la captura de mensajes para usuarios inactivos hasta 30 días desde el momento en que el usuario se vuelve inactivo. Para buscar la lista de buzones inactivos, consulte Buzones inactivos.
Propiedades de los mensajes de chat: consulte la lista completa de propiedades compatibles con las API de exportación de Teams.
Mensajes de control: La API de exportación admite la captura de mensajes de control además de los mensajes generados por el usuario. Los mensajes de control son mensajes generados por el sistema que aparecen en el cliente de Teams. Llevan información importante como "El usuario A agregó el usuario B al chat y compartió todo el historial de chats" junto con la marca de tiempo. Los mensajes del sistema permiten al autor de la llamada tener información sobre los eventos que ocurrieron en un equipo, un canal o un chat. Consulte la lista de mensajes de control que admite actualmente la API de exportación.
Obtenga más información sobre cómo exportar mensajes en el chat y el canal.
Nota
Actualmente, los mensajes de control relacionados con reuniones no son compatibles con la API de exportación.
Historial editado: Si su espacio empresarial está configurado con la directiva de retención de Teams, la API de exportación admite la captura del historial editado de mensajes para chats individuales y grupales, así como publicaciones y comentarios en canales públicos y compartidos.
Para obtener más información sobre la directiva de retención de Teams, consulte Administrar directivas de retención de Microsoft Teams para obtener más información.
Obtenga más información sobre cómo exportar mensajes del historial editado en chats y canales.
Transcripciones de reuniones: Obtenga todas las transcripciones de las instancias de reunión en línea programadas para las que el usuario especificado es el organizador. Actualmente, esta API solo admite reuniones privadas programadas.
Obtenga más información sobre cómo exportar transcripciones de reuniones.
Grabaciones de reuniones: Obtener todas las grabaciones de las instancias de reunión en línea programadas para las que el usuario especificado es el organizador. Actualmente, esta API solo admite reuniones privadas programadas.
Obtenga más información sobre cómo exportar grabaciones de reuniones.
Mensajes dirigidos: Los mensajes enviados por un agente o bot al usuario se pueden exportar incluso después de que se eliminen de los clientes después de 24 horas. Vea cómo exportar mensajes dirigidos y cómo eliminarlos.
Cómo acceder a las API de exportación de Teams
El ejemplo 1 es una consulta sencilla para recuperar todos los mensajes de un usuario o equipo sin ningún filtro:
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessagesGET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessagesEl ejemplo 2 es una consulta de ejemplo para recuperar todos los mensajes de un usuario o equipo especificando filtros de fecha y hora y los 50 mensajes principales:
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413ZGET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413ZEl ejemplo 3 es una consulta de ejemplo para recuperar los vínculos a todas las grabaciones de reuniones de Teams disponibles de un usuario. Se admite el filtrado de intervalo de fechas. El filtro TOP n es compatible de forma similar a los mensajes de chat:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer/User/Id eq ‘{id}’GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})El ejemplo 4 es una consulta de ejemplo para recuperar los vínculos a todas las transcripciones disponibles de las reuniones de Teams de un usuario. Se admite el filtrado de intervalo de fechas. El filtro TOP n es compatible de forma similar a los mensajes de chat:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq ‘{id}’GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})El ejemplo 5 es una consulta encadenada de ejemplo para obtener primero todas las reuniones de Teams transcritas disponibles de un usuario y, a continuación, recuperar todas las Conclusiones de IA disponibles:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq '{id}'A continuación, recupere las Conclusiones de IA para cada una
meetingIdde las devueltas por la solicitud anterior.GET https://graph.microsoft.com/v1.0/copilot/users/{id}/onlineMeetings/{meetingId}/aiInsightsNota
La API devuelve la respuesta con un vínculo a la página siguiente si hay varios resultados. Para obtener el siguiente conjunto de resultados, llame a GET en la url desde @odata.nextlink. Si @odata.nextlink no está presente o es nulo, se recuperan todos los mensajes.
Nota
No se garantiza que el orden de los mensajes en la respuesta se ordene por ninguna fecha y hora, como createdDateTime o lastModifiedDateTime.
Requisitos previos para acceder a las API de exportación de Teams
Las API de Microsoft Teams en Microsoft Graph que acceden a datos confidenciales se consideran API protegidas. Puede llamar a estas API siempre que se cumplan los requisitos para acceder sin un usuario .
Los permisos de aplicación se usan en aplicaciones que se ejecutan sin la presencia de un usuario que haya iniciado sesión. Solo un administrador puede aprobar los permisos de aplicación. Se necesitan los siguientes permisos:
Chat. Read.All: permite el acceso a todos los mensajes 1:1, chat de grupo y chat de reunión.
ChannelMessage.Read.All: habilita el acceso a todos los mensajes del canal.
User.Read.All: habilita el acceso a la lista de usuarios de un espacio empresarial.
OnlineMeetingTranscript.Read.All: permite el acceso a las transcripciones de todas las reuniones programadas de Teams.
OnlineMeetingRecording.Read.All: permite el acceso a las grabaciones de todas las reuniones programadas de 1:n Teams.
Requisitos de licencia para exportar API de Teams
Para usar las API de exportación de Microsoft Teams, las organizaciones deben tener una licencia activa de Microsoft Teams asignada a los usuarios cuyos datos se van a exportar.
Nota
El uso de las API de exportación de Microsoft Teams no requiere un plan de servicio de Prevención de pérdida de datos de Microsoft Purview (DLP) de Microsoft Purview ni ninguna licencia DLP adicional.
Las API de exportación funcionan independientemente de las capacidades de Microsoft DLP de Purview DLP y están disponibles para inquilinos con la licencia de Teams adecuada que admita el acceso a datos a través de las API de exportación de Microsoft Graph.
| Nombre del partner | Solución para partners |
|---|---|
|
Archivado y cumplimiento de Microsoft Teams |
|
Captura de contenido de Proofpoint para Microsoft Teams |
Los siguientes asociados están certificados. Su empresa puede elegir trabajar con cualquier combinación de estos asociados dentro de su empresa.
| Nombre del partner | Solución para partners |
|---|---|
|
Copia de seguridad y recuperación de Microsoft Teams |
|
Copia de seguridad y recuperación de Microsoft Teams |
Pasos siguientes
Si es un proveedor que desea unirse al programa de certificación, rellene este formulario como siguiente paso. Si necesita proporcionar más contexto y detalles, envíe un correo electrónico al equipo del ecosistema de MS Teams (TeamsCategoryPartner@microsoft.com).
Modo de evaluación (predeterminado)
Ninguna declaración de modelo permite el acceso a API con uso limitado por cada aplicación solicitante con fines de evaluación.
Representación JSON
El ejemplo siguiente es una representación JSON del recurso de chat:
Espacio de nombres: microsoft.graph
{ "id": "string (identifier)", "replyToId": "string (identifier)", "from": {"@odata.type": "microsoft.graph.identitySet"}, "etag": "string", "messageType": "string", "createdDateTime": "string (timestamp)", "lastModifiedDateTime": "string (timestamp)", "deletedDateTime": "string (timestamp)", "subject": "string", "from": { "application": null, "device": null, "conversation": null, "user": { "id": [{"@odata.type": "microsoft.graph.user"}], "displayName": "User Name", "userIdentityType": "aadUser" } }, "body": {"@odata.type": "microsoft.graph.itemBody"}, "summary": "string", "chatId": [{"@odata.type": "microsoft.graph.chat"}] "attachments": [{"@odata.type": "microsoft.graph.chatMessageAttachment"}], "mentions": [{"@odata.type": "microsoft.graph.chatMessageMention"}], "importance": "string", "locale": "string", }Nota
Para obtener más información sobre el recurso chatMessage, consulte el artículo sobre el tipo de recurso chatMessage .
El ejemplo siguiente es una representación JSON del recurso de grabación:
Espacio de nombres: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(meetingRecording)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.meetingRecording", "id": "6263af16-b660-41d0-a17b-83fbd15a39c7", "meetingId": "MSoxMjczYTAxNi0yMDFkRLTmOTUtODA5My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1BBXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:43:36.2573447Z", "recordingContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/recordings/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content" }, { "@odata.type": "#microsoft.graph.meetingRecording", "id": "{recordingId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:44:11.2635254Z", "recordingContentUrl": " https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content" }, ] }Donde:
<id>Representa una sola grabación.<meetingId>Representa un identificador de reunión o llamada.<meetingOrganizer/user/id>Representa al organizador de la reunión.<createdDateTime>Indica la hora de inicio de la reunión.<recordingContentUrl>indica la dirección URL del contenido de la grabación.Las grabaciones están en formato MP4.
El tamaño medio del contenido de la grabación en sí es de unos 350 MB en disco, según los promedios que estamos viendo para las reuniones que están en el rango de 30 minutos a 60 minutos.
No se garantiza que los resultados se ordenen por
createdDateTime. Sin embargo, cuando hay varias grabaciones presentes en una única reunión, comparten el mismomeetingIdvalor. Además, las entradas de las múltiples grabaciones están secuenciadas correctamente para la reunión en cuestión.Se garantiza que los resultados estarán presentes solo después de que las grabaciones de la reunión asociadas estén disponibles. En otras palabras, el autor de la llamada no necesita ningún otro sondeo para la disponibilidad.
La paginación de los resultados se admite según los patrones actuales en la API de exportación de Teams. La paginación se admite a través de la presencia de la
@oData.nextLinkpropiedad en la respuesta. La propiedad nextLink contiene unskipTokenvalor, como se indica en la tabla siguiente. Si no hay ningunaskipToken, significa que no hay más resultados que recuperar en el lote actual:Solicitud Respuesta @nextLink Comentarios /getAllRecordingsCantidad: 10 ?skipToken=ABCSolicitud inicial sin skipToken/getAllRecordings?skipToken=ABCCantidad: 10 ?skipToken=DEFSkipTokendevuelto, solicitud para obtener la página siguiente/getAllRecordings?skipToken=DEFCantidad: 7 No skipToken, no hay más datos disponibles$toptambién se admite según los patrones actuales en la API de exportación de Teams.DeltaTokenpara habilitar el seguimiento de cambios y escenarios de sincronización. Para obtener información general y ejemplos de consultas delta existentes, consulte Usar la consulta delta para realizar un seguimiento de los cambios en los datos de Microsoft Graph.La siguiente API se puede usar para obtener el contenido de grabación real del
userId, seleccionado yrecordingIdobtenido en la respuesta de la API GETgetAllRecordingsmeetingId. Devuelve el contenido de la grabación:GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content
El ejemplo siguiente es una representación JSON del recurso de transcripción:
Espacio de nombres: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(callTranscript)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.callTranscript", "id": "MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh", "meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/transcripts/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content", "createdDateTime": "2022-08-03T20:43:36.6248355Z" }, { "@odata.type": "#microsoft.graph.callTranscript", "id": "{transcriptId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content", }, ] }Donde:
<id>Representa una sola grabación.<meetingId>Representa un identificador de reunión o llamada.<meetingOrganizer/user/id>Representa al organizador de la reunión.<createdDateTime>Indica la hora de inicio de la reunión.<transcriptContentUrl>indica la dirección URL del contenido de la transcripción.El contenido de la transcripción, de forma predeterminada, está en formato VTT. Pero, también se puede obtener un valor de encabezado Aceptar de
application/vnd.openxmlformats-officedocument.wordprocessingml.document, formato DOCX.El tamaño medio del contenido de la transcripción en formato JSON/VTT es de aproximadamente 300 KB, según los promedios que estamos viendo para las reuniones que están en el intervalo de 30 minutos a 60 minutos.
No se garantiza que los resultados se ordenen por
createdDateTime. Sin embargo, cuando hay varias grabaciones presentes en una única reunión, comparten el mismomeetingIdvalor. Además, las entradas de las múltiples grabaciones están secuenciadas correctamente para la reunión en cuestión.Se garantiza que los resultados estarán presentes solo después de que las grabaciones de la reunión asociadas estén disponibles. En otras palabras, el autor de la llamada no necesita ningún otro sondeo para la disponibilidad.
La paginación de los resultados se admite según los patrones actuales en la API de exportación de Teams. La paginación se admite a través de la presencia de
@oData.nextLinkpropiedad en la respuesta. LanextLinkpropiedad contiene unskipTokenvalor, como se indica en la tabla siguiente. Si no hay ningunaskipToken, significa que no hay más resultados que recuperar en el lote actual:Solicitud Respuesta @nextLink Comentarios /getAllTranscriptsCantidad: 10 ?skipToken=ABCSolicitud inicial sin skipToken/getAllTranscripts?skipToken=ABCCantidad: 10 ?skipToken=DEFSkipTokendevuelto, solicitud para obtener la página siguiente/getAllTranscripts?skipToken=DEFCantidad: 7 No skipToken, no hay más datos disponibles$toptambién se admite según los patrones actuales en la API de exportación de Teams.DeltaTokenpara habilitar el seguimiento de cambios y escenarios de sincronización. Para obtener información general y ejemplos de consultas delta existentes, consulte Usar la consulta delta para realizar un seguimiento de los cambios en los datos de Microsoft Graph.La siguiente API se puede usar para obtener el contenido real de la transcripción del userId, meetingId y transcriptId seleccionados que se obtuvo en la respuesta de la API GET getAllTranscripts. Devuelve el contenido de la grabación.
GET users('{userId}')/onlineMeetings('{meetingId}')/transcripts('{transcriptId}')/content
Para obtener más información, consulte Uso de las API de Graph para capturar transcripciones.
Exportar filtros API
La API de exportación hospedada en Teams Graph Service obtiene todos los mensajes de usuario del buzón de usuario de Substrate mediante users/{userId}/chats/getAllMessages. La API de exportación recupera los mensajes enviados y recibidos para un usuario, lo que lleva a la exportación de mensajes duplicados al llamar a la API para todos los usuarios en el hilo de chat.
La API de exportación tiene parámetros de filtro que ayudan a optimizar los mensajes devueltos para un hilo de chat. El API GET admite nuevos parámetros de filtro que permiten una manera de extraer mensajes basados en los mensajes enviados de eventos del usuario, el bot y la aplicación y el sistema. El parámetro filter admite los mensajes enviados por:
usuarios (se admiten varios id. de usuario en la misma solicitud).
aplicaciones (bots, conectores, etc.).
Todos los userIdentityTypes excepto emailUser y unknownFutureValue.
Mensajes de eventos del sistema (mensajes de control).
Estos parámetros forman parte del archivo $filter. Si ninguno de estos parámetros está presente en la solicitud, se devuelven los mensajes de todos los usuarios presentes en los chats de usuario especificados.
Los escenarios de filtrado que se admiten son los siguientes:
$filter=from/application/applicationIdentityType eq '<appType>' (bots/tenantBots/connectors, etc.)
$filter=from/user/id eq '<oid>' (any number of id filters)
$filter=from/user/userIdentityType eq '<userIdentityType>'
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' (sent by app or userid)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' (sent by app or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'federatedUser' (sent by app or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by app, anonymous or federated)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' (sent by any number of userid or anonymous)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous) or messageType eq 'systemEventMessage'
(<any of the previous filters>) and (lastModifiedDateTime+gt+<date>+and+lastModifiedDateTime+lt+<date>)
La consulta devuelve los mensajes enviados por el usuario especificado si
from/user/id eq ‘{oid}’está presente.La consulta devuelve los mensajes enviados por los usuarios federados que forman parte de los chats de usuarios, si
from/user/userIdentityType eq ‘federatedUser’están presentes.La consulta devuelve los mensajes enviados por el tipo de aplicación especificado si
from/application/applicationIdentityType eq '{appType}'está presente.La consulta devuelve los mensajes enviados por el sistema si
messageType eq 'systemEventMessage'está presente.
Estos parámetros se pueden combinar entre ellos usando los operadores OR o combinándolos con el lastModifiedDateTime$filter parámetro.
API de exportación de Teams para los mensajes retenidos
Si el inquilino está configurado con la directiva de retención de Teams, la API de exportación admite la captura de mensajes de la carpeta de reservas para chats individuales & grupales, así como publicaciones y comentarios en canales públicos & compartidos.
Cómo acceder a la API de mensajes retenidos
El ejemplo 1 es una consulta simple para recuperar todos los mensajes retenidos de un usuario:
GET https://graph.microsoft.com/v1.0/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllRetainedMessagesEl ejemplo 2 es una consulta simple para recuperar todos los mensajes retenidos de un equipo:
GET https://graph.microsoft.com/v1.0/teams/8b081ef6-4792-4def-b2c9-c363a1bf41d5/channels/getAllRetainedMessages
Qué admite la API getAllRetainedMessages
- Un usuario elimina el mensaje de forma temporal en un chat o un canal Si el usuario está en espera, después de los 21 días del período de eliminación, el mensaje se puede exportar a través de la API.
- Un usuario elimina el mensaje de forma temporal en un chat o un canal Si hay un conjunto de directivas de retención válida, más allá del período de eliminación de 21 días, el mensaje se puede exportar a través de la API.
- Un usuario edita el mensaje en un chat o un canal Si hay un conjunto de directivas de retención válida, se pueden exportar las versiones editadas anteriores del mensaje.
Nota
La API /getAllRetainedMessages permite la recuperación de mensajes de canal eliminados durante un máximo de 30 días a partir del día de la eliminación. Después de 30 días, los equipos y canales se eliminan de forma permanente y los mensajes no se pueden recuperar.
Interacciones de Microsoft Copilot
Obtenga más información sobre aiInteractionHistory: getAllEnterpriseInteractions que permite exportar interacciones de Copilot.