A API Gmail usa recursos Thread
para agrupar respostas de e-mail com a mensagem original em uma única conversa ou
conversa. Isso permite que você recupere todas as mensagens de uma conversa em ordem, facilitando o contexto de uma mensagem ou o refinamento dos resultados da pesquisa.
Assim como as mensagens, as linhas de execução também podem ter rótulos aplicados a elas. No entanto, ao contrário das mensagens, as linhas de execução não podem ser criadas, apenas excluídas. No entanto, as mensagens podem ser inseridas em uma conversa.
Conteúdo
Como recuperar linhas de execução
As conversas são uma maneira simples de recuperar as mensagens de uma conversa em ordem.
Ao listar um conjunto de conversas, você pode optar por agrupar mensagens por conversa
e fornecer mais contexto. Você pode extrair uma lista de linhas de execução usando o
método threads.list
ou extrair
uma linha de execução específica com
threads.get
. Também é possível
filtrar linhas de execução usando os mesmos parâmetros do
recurso Message
. Se alguma
mensagem em uma linha de execução corresponder à consulta, ela será retornada no resultado.
O exemplo de código abaixo demonstra como usar os dois métodos em uma amostra que
exibe as conversas com mais conversas na sua caixa de entrada. O método threads.list
busca todos os IDs de linha de execução, e então threads.get
coleta todas as mensagens em cada linha de execução.
Para aqueles com três ou mais respostas, extraímos a linha Subject
e exibimos as
não vazias mais o número de mensagens na linha de execução. Você também encontra esse
exemplo de código apresentado no vídeo DevByte correspondente.
Python
Adicionar rascunhos e mensagens a conversas
Se você estiver enviando ou migrando mensagens que são uma resposta a outro e-mail ou parte de uma conversa, seu aplicativo precisará adicionar essa mensagem à conversa relacionada. Assim, os usuários do Gmail participantes da conversa conseguem manter a mensagem dentro do contexto.
Um rascunho pode ser adicionado a uma conversa como parte da criação, atualização ou envio de uma mensagem de rascunho. Você também pode adicionar uma mensagem a uma conversa como parte da inserção ou do envio de 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 sua 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.
Veja os exemplos de criação de rascunho ou envio de 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
.