【问题标题】:Reading Unique mails using gmail API使用 gmail API 阅读独特的邮件
【发布时间】:2015-09-15 20:14:53
【问题描述】:

我正在使用 Gmail API 阅读邮件,在那里我可以成功地将邮件下载到我的系统。这个想法是浏览所有标签并下载邮件,但这会导致重复的邮件下载,因为单个邮件可以属于不同的标签。 我尝试查找标签 $All 以获取唯一邮件,但我猜最新的 Gmail API 不支持所有邮件标签。有没有办法在 gmail 中阅读独特的邮件?

【问题讨论】:

  • 如果你想下载所有邮件,为什么要通过标签过滤它们?
  • 我想下载所有独特的邮件。
  • 在这种情况下,列表消息应该足以满足您的要求。不要按任何标签过滤,您应该得到唯一消息列表
  • 如果您能分享一些相同的链接,我将不胜感激
  • 在您的 GMail ID 上使用 developers.google.com/gmail/api/v1/reference/users/messages/… 尝试一下,您应该会看到返回的所有唯一消息 ID

标签: c# gmail-api


【解决方案1】:

可以使用 Gmail 同步指南来同步邮箱:

https://developers.google.com/gmail/api/guides/sync

使用带有标签 ID 过滤器的 Gmail API 的 history.list() 方法并检查消息 ID 的“messagesAdded”部分。您将不会获得消息正文,只有 ID,随后必须使用收到的消息 ID 调用 message.get() 以获取消息正文。

如果一条消息有多个标签,history.list() 将为您提供直接在特定标签中接收的消息,因此如果您使用不同的标签 ID 调用 history.list(),您将不会收到两次相同的消息。

您还可以通过在应用程序中处理重复消息来避免重复消息,方法是将每个消息 ID 存储在缓存存储(如 memcache 或内存中的哈希表)中,以避免处理重复消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 2018-05-11
    • 2015-06-04
    • 1970-01-01
    • 2012-01-01
    • 2019-05-24
    • 2016-01-24
    • 2015-12-10
    相关资源
    最近更新 更多