Gmail API 使用 Thread 资源将电子邮件回复及其原始邮件归为单个会话或话题。这样一来,您就可以按顺序检索对话中的所有消息,从而更轻松地了解消息的上下文或优化搜索结果。
与邮件一样,主题也可以应用标签。不过,与消息不同的是,您无法创建帖子,只能删除帖子。不过,消息可以插入到消息串中。
目录
检索线程
线程提供了一种简单的方法,用于按顺序检索对话中的消息。
通过列出一组线程,您可以选择按对话对消息进行分组,并提供更多上下文。您可以使用 threads.list 方法检索线程列表,也可以使用 threads.get 检索特定线程。您还可以使用与 Message 资源相同的查询参数来过滤线程。如果某个会话中的任何邮件与查询匹配,则该会话会返回在结果中。
以下代码示例演示了如何在显示收件箱中最活跃的对话线程的示例中使用这两种方法。threads.list 方法会提取所有线程 ID,然后 threads.get 会抓取每个线程中的所有消息。对于回复次数达到 3 次或更多次的帖子,我们会提取 Subject 行,并显示非空行以及相应话题中的消息数量。您还可以在相应的 DevByte 视频中找到此代码示例。
Python
向对话串添加草稿和消息
如果您要发送或迁移的邮件是对另一封电子邮件的回复,或者属于某个对话的一部分,那么您的应用应将该邮件添加到相关线程。这样一来,参与对话的 Gmail 用户就能更轻松地了解消息的上下文。
在创建、更新或发送草稿邮件时,可以将草稿添加到线程中。 您还可以在插入或发送消息时向线程添加消息。
如需成为对话串的一部分,邮件或草稿必须满足以下条件:
- 您在请求中提供的
Message或Draft.Message上必须指定所请求的threadId。 - 必须根据 RFC 2822 标准设置
References和In-Reply-To标头。 Subject标头必须一致。
不妨看看创建草稿或发送消息示例。在这两种情况下,您只需将与线程 ID 配对的 threadId 键添加到消息的元数据(即 message 对象)中。