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