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