La API de Gmail usa recursos Thread
para agrupar las respuestas de correos electrónicos con su mensaje original en una sola conversación o hilo. Esto te permite recuperar todos los mensajes de una conversación, en orden, lo que facilita tener contexto para un mensaje o refinar los resultados de la búsqueda.
Al igual que los mensajes, los subprocesos también pueden tener etiquetas aplicadas. Sin embargo, a diferencia de los mensajes, los subprocesos no se pueden crear, solo borrar. Sin embargo, los mensajes se pueden insertar en una conversación.
Contenido
Cómo recuperar conversaciones
Los subprocesos proporcionan una forma sencilla de recuperar mensajes en una conversación en orden.
Si enumeras un conjunto de subprocesos, puedes agrupar los mensajes por conversación y proporcionar contexto adicional. Puedes recuperar una lista de subprocesos con el método threads.list
o recuperar un subproceso específico con threads.get
. También puedes filtrar subprocesos con los mismos parámetros de consulta que para el recurso Message
. Si algún mensaje de un hilo coincide con la búsqueda, ese hilo se devuelve en el resultado.
En la siguiente muestra de código, se muestra cómo usar ambos métodos en un ejemplo que muestra los hilos más activos en tu bandeja de entrada. El método threads.list
recupera todos los IDs de conversación y, luego, threads.get
recupera todos los mensajes de cada conversación.
En el caso de los que tienen 3 o más respuestas, extraemos la línea Subject
y mostramos las que no están vacías, además de la cantidad de mensajes en el hilo. También encontrarás esta muestra de código en el video de DevByte correspondiente.
Python
Cómo agregar borradores y mensajes a los hilos
Si envías o migras mensajes que son una respuesta a otro correo electrónico o forman parte de una conversación, tu aplicación debe agregar ese mensaje al hilo relacionado. Esto facilita que los usuarios de Gmail que participan en la conversación mantengan el mensaje en contexto.
Se puede agregar un borrador a un hilo como parte de la creación, la actualización o el envío de un mensaje de borrador. También puedes agregar un mensaje a un subproceso como parte de la inserción o el envío de un mensaje.
Para formar parte de un subproceso, un mensaje o borrador debe cumplir con los siguientes criterios:
- El
threadId
solicitado debe especificarse en elMessage
o elDraft.Message
que proporciones con tu solicitud. - Los encabezados
References
yIn-Reply-To
deben establecerse de conformidad con el estándar RFC 2822. - Los encabezados
Subject
deben coincidir.
Consulta los ejemplos de cómo crear un borrador o cómo enviar un mensaje. En ambos casos, simplemente agregarías una clave threadId
junto con un ID de subproceso a los metadatos de un mensaje, el objeto message
.