A API Gmail usa recursos Thread
para agrupar as respostas a um e-mail com a mensagem original em uma única conversa ou
linha de conversa. Isso permite que você recupere todas as mensagens de uma conversa em ordem,
facilitando o contexto de uma mensagem ou aperfeiçoando os resultados da pesquisa.
Assim como as mensagens, as linhas de transmissã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 na ordem certa.
Ao listar um conjunto de linhas de execução, você pode agrupar mensagens por conversa
e fornecer mais contexto. É possível recuperar uma lista de linhas de execução usando o
método threads.list
ou recuperar
uma linha de execução específica com
threads.get
. Também é possível
filtrar linhas usando os mesmos parâmetros de consulta do
recurso Message
. Se qualquer
mensagem em uma linha de execução corresponder à consulta, essa linha de execução será retornada no resultado.
O exemplo de código abaixo demonstra como usar os dois métodos em um exemplo que
mostra as conversas mais longas na sua caixa de entrada. O método threads.list
busca todos os IDs de linha de execução e, em seguida, threads.get
extrai todas as mensagens em cada linha de execução.
Para conversas com três ou mais respostas, extraímos a linha Subject
e mostramos as
que não estão vazias, além do número de mensagens na conversa. Você também vai encontrar este
exemplo de código no vídeo do DevByte correspondente.
Python
Como 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ção relacionada. Isso facilita para os usuários do Gmail que estão participando da conversa 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. Também é possível adicionar uma mensagem a uma conversa como parte de 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
que você fornece 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 como 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
.