使用 Python 中的 Gmail API 使用 message-id 搜索电子邮件

Dar*_*les 5 python gmail python-3.x gmail-api

我试图通过使用以下 API 搜索其消息 ID 来获取特定电子邮件: https: //developers.google.com/gmail/api/guides/filtering

例如message_id = "<C6P4M-GEE8PzO8qf0=oTQ3ZJeFB_uASDAAF9AJSRRiNuUVBzan0w@mail.gmail.com>"

我可以通过修改以下内容来实现它:

MESSAGE = GMAIL.users().messages().list(userId='me',labelIds='INBOX').execute()

但如何修改它以仅搜索具有 message_id 的特定电子邮件?

目前,我尝试使用一种极其低效的解决方案,该解决方案的工作原理是使用 messages.list 扫描整个收件箱,然后找到匹配的电子邮件消息 ID。

Dar*_*les 4

找到了解决方案:

var = "Rfc822msgid:" + message_id
MESSAGE = GMAIL.users().messages().list(userId='me',q=var).execute() 
Run Code Online (Sandbox Code Playgroud)

参考资料: https: //support.google.com/mail/answer/7190?hl =en