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