首页 > 解决方案 > 使用 Gmail API 选择性地获取电子邮件

问题描述

我正在尝试获取具有特定内容的消息列表,例如计费电子邮件并处理其中的数据。为了获取这些消息,我运行以下命令

service.users().messages().list(userId=user_id, page_token=page_token, q=query).execute()

它返回所有消息。我想将我要确认的消息限制为以下标准:

我知道我可以创建一个匹配电子邮件地址和主题 ( from:bill@pge.com AND subject:"Your bill for this month") 的查询,但是如上所述,随着我可以接受的供应商范围和数量的增加,黑名单和白名单会变得非常大,类似的是案例与主题。所以我的问题是:

注意:对于项目设置,我主要符合https://developers.google.com/gmail/api/quickstart/python

标签: pythonemailgoogle-apigmailgmail-api

解决方案


您可以使用的查询词的数量没有记录限制。是的,您必须以编程方式创建一个长查询字符串,结合列表中的所有电子邮件。在这里 [1] 您可以检查可以使用的运算符,最好的方法是这样的:

1) 使用“after”或“newer”运算符,时间戳为当前日期前 2 天。

2)-来自:{xxx@xxx.com xxx@xxx.com ...}

3)来自:{xxx@xxx.com xxx@xxx.com ...}

4) 主题:{xxx xxx ...}

[1] https://support.google.com/mail/answer/7190


推荐阅读