Este documento explica como recuperar mensagens de conversas e adicionar mensagens a conversas usando a API Gmail.
A API Gmail usa o recurso
threads 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, o que facilita ter contexto para uma mensagem ou refinar os resultados da pesquisa.
Assim como o recurso messages, as conversas também podem ter rótulos aplicados. No entanto, ao contrário das mensagens, não é possível criar conversas, apenas excluir. No entanto, as mensagens podem ser inseridas em uma conversa.
Recuperar conversas
As conversas oferecem uma maneira de recuperar mensagens em uma conversa, em ordem. Ao
listar um conjunto de linhas de execução, você pode agrupar mensagens por conversa e
fornecer contexto adicional. É possível recuperar uma lista de conversas usando o método
threads.list
ou uma conversa específica com o método
threads.get.
O exemplo de código a seguir mostra como usar os métodos threads.get e threads.list
em um exemplo que recupera as conversas mais ativas na sua caixa de entrada. O método
threads.list busca todos os IDs de linhas de execução. Depois, threads.get extrai todas as
mensagens em cada linha de execução. Para mensagens com três ou mais respostas, extraímos a linha Subject e mostramos as não vazias mais o número de mensagens na conversa.
Python
Também é possível filtrar conversas usando os mesmos parâmetros de consulta usados para o recurso messages. Se alguma mensagem em uma conversa corresponder à consulta, a conversa será retornada no resultado.
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 como parte da
criação,
atualização ou
envio de uma mensagem
usando o recurso
drafts.
Você também pode adicionar uma mensagem a uma conversa ao
inserir ou
enviar uma mensagem
usando o recurso
messages.
Para fazer parte de uma conversa, um rascunho ou uma mensagem precisa atender aos seguintes critérios:
O
threadIdsolicitado precisa ser especificado como parte do recursodrafts.messageoumessagesfornecido com a solicitação.Os cabeçalhos
ReferenceseIn-Reply-Toprecisam ser definidos em conformidade com o padrão RFC 2822.Os cabeçalhos
Subjectprecisam ser iguais.
Para exemplos de código de como usar o threadId, consulte Criar
rascunhos ou Enviar
mensagens. Em ambos os casos, é necessário incluir o threadId de destino no recurso messages da solicitação.