A API Gmail usa recursos Thread
para agrupar respostas de e-mail com a mensagem original em uma única conversa ou thread. Isso permite recuperar todas as mensagens de uma conversa em ordem,
facilitando a compreensão do contexto de uma mensagem ou o refinamento dos resultados da pesquisa.
Assim como as mensagens, as conversas também podem ter marcadores aplicados a elas. No entanto, ao contrário das mensagens, as conversas não podem ser criadas, apenas excluídas. No entanto, é possível inserir mensagens em uma conversa.
Índice
Como recuperar conversas
Os tópicos oferecem uma maneira simples de recuperar mensagens em uma conversa em ordem.
Ao listar um conjunto de encadeamentos, você pode agrupar as mensagens por conversa e fornecer mais contexto. É possível recuperar uma lista de conversas usando o método
threads.list
ou uma conversa
específica com
threads.get
. Também é possível filtrar conversas usando os mesmos parâmetros de consulta do recurso Message
. Se alguma mensagem em uma conversa corresponder à consulta, essa conversa será retornada no resultado.
O exemplo de código abaixo demonstra como usar os dois métodos em uma amostra que
mostra as conversas mais ativas na sua caixa de entrada. O método threads.list
busca todos os IDs de conversa, e o threads.get
pega todas as mensagens em cada conversa.
Para quem tem três ou mais respostas, extraímos a linha Subject
e mostramos as não vazias mais o número de mensagens na conversa. Você também encontra esse
exemplo de código no vídeo DevByte correspondente.
Python
Como adicionar rascunhos e mensagens às conversas
Se você estiver enviando ou migrando mensagens que são uma resposta a outro e-mail ou parte de uma conversa, seu aplicativo deverá adicionar essa mensagem à thread relacionada. Assim, os usuários do Gmail que estão participando da conversa conseguem manter a mensagem no contexto.
Um rascunho pode ser adicionado a uma conversa ao criar, atualizar ou enviar uma mensagem de rascunho. Você também pode adicionar uma mensagem a uma conversa ao inserir ou enviar uma mensagem.
Para fazer parte de uma conversa, uma mensagem ou um rascunho precisa atender aos seguintes critérios:
- O
threadId
solicitado precisa ser especificado noMessage
ouDraft.Message
fornecido com a solicitação. - Os cabeçalhos
References
eIn-Reply-To
precisam ser definidos em conformidade com o padrão RFC 2822. - Os cabeçalhos
Subject
precisam ser iguais.
Confira os exemplos de como criar um rascunho ou enviar uma mensagem. Em ambos os casos, basta
adicionar uma chave threadId
pareada com um ID de linha de execução aos metadados de uma mensagem, o
objeto message
.