如何使用 Google Mail API 检查邮件是不是被标记为“重要”?
Posted
技术标签:
【中文标题】如何使用 Google Mail API 检查邮件是不是被标记为“重要”?【英文标题】:How to check if message is flagged as "important" using Google Mail API?如何使用 Google Mail API 检查邮件是否被标记为“重要”? 【发布时间】:2014-11-19 07:23:30 【问题描述】:您可以使用 Google Mail API 接收邮件标记,例如“已读”/“未读”或“已标记”/“未标记”。您可以在Users.messages: get
函数的结果中的字段labelIds
中看到此信息:
问题一
我找不到如何检查邮件是否被标记为“重要”。 有谁知道是否有办法使用 Google Mail API 检测此标志?
问题二
您可以用不同的星号(红色、绿色、蓝色)标记邮件,但 Google Mail API 不会在 Users.messages: get
函数中返回此信息。
我可以使用 Google Mail API 确定哪种星号(什么颜色)有消息吗?
【问题讨论】:
【参考方案1】:基于说“消息标志”,我假设您现在正在使用 Gmail IMAP? Gmail API 会在邮件中公开常见的 Gmail 标签(如已加星标和未读),但不会公开任何特定于 IMAP 的标签(例如 \Deleted、\Recent)。
IMAP \Flagged 映射到 Web 界面中的 Star 和 API 中的“STARRED”: https://developers.google.com/gmail/api/guides/labels
重要标签(对应于 IMAP 中的 \Important 邮箱)在 API 中也应该可见(系统标签称为“IMPORTANT”)。
API 目前不支持不同颜色的星星(请参阅上述标签指南以获取当前支持的 SYSTEM 标签的权威列表)。
【讨论】:
感谢您的回复,埃里克。我确实调用了Users.messages: get
函数,我看到labelIds
中出现标签“READ”和“STARRED”(如果我在еру web 界面中清除它们,则它们消失),但标签“IMPORTANT”不一样。即使我在 GMail 界面中看到它,它也不会出现在 labelIds
中。
现在再试一次,昨天还是新的。刚刚通过 API explorer 确认:“id”:“148ad9188820bd16”,“threadId”:“148ad9188820bd16”,“labelIds”:[“INBOX”,“IMPORTANT”,“CATEGORY_UPDATES”],
非常感谢!它现在可以工作了 - 现在我在函数 Users.messages: get
的结果中看到 labelIds
字段中的标签“重要”。以上是关于如何使用 Google Mail API 检查邮件是不是被标记为“重要”?的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine:如何使用 send_mail 发送 html
PHP Gmail API:可以发送电子邮件但如何添加收件人电子邮件
如何有效地使用 javax.mail API 发送批量邮件? & 我们可以使用重用认证会话来提高速度吗?