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
对象)中。