【发布时间】:2021-05-20 08:53:00
【问题描述】:
我正在使用 gmail api 发送和阅读电子邮件。
我需要通过应用一些过滤器来获取所有电子邮件。
例如:假设我需要获取我和其他 N 个用户之间的所有电子邮件(user1@gmail.com、user2@gmail.com、.. ...)
我需要来自收件箱和已发送邮箱的所有电子邮件,方法是应用这样的过滤器(我发送给用户或用户发送给我的所有电子邮件,不包括聊天)
我可以通过以下方法从收件箱中获取所有消息。
public List<Message> getMessages(Gmail service) throws IOException {
List<Message> messages = service.users().messages().list("me").execute().getMessages();
return messages;
}
在做了一些研究之后,我能够应用这样的查询,它返回 user1@gmail.com 发送的所有收件箱消息,不包括聊天
public List<Message> getMessages(Gmail service) throws IOException {
String query = "-in:chats from:user1@gmail.com";
List<Message> messages = service.users().messages().list("me").setQ(query).execute().getMessages();
return messages;
}
如果我将查询更改为此
String query = "in:inbox OR in:sent";
然后我可以将收件箱中的所有电子邮件和已发送的电子邮件合并,但我仍然坚持只过滤给定用户和我之间的对话。
我搜索了很多,但没有找到解决方案。
【问题讨论】: