如何找到通过 Google 的 Gmail API 检索到的附件的最终附件 ID?



我假设给定邮件的每个附件都有一个唯一的附件ID,我可以在需要时使用它来引用该附件。似乎这个假设是不正确的。

每次调用 Google 的 GMail API (https://developers.google.com/gmail/api/v1/reference/users/messages/get) 的 Users.messages.get 服务来检索带有附件的邮件时,即使使用了相同的 messageId,返回的附件 ID 也会有所不同。如何找到"真实"附件 ID?

对于可能有这个问题的其他人,我们能够联系到Google中提供以下信息的人:

  1. 附件 ID 不会过期。令牌只是从附件的存储远程部件引用生成的。
  2. 如果使用 attachmentId,为避免两次导入同一附件以获取附件的稳定标识符,可以尝试使用附件的文件名 + sha1 哈希的组合。 如果您通过存根调用Gmail APi,您应该能够读取附件的sha1哈希。

希望其他人也会发现这很有用。

我自己不得不将附件ID存储在数据库中,我什至不确定下面的两个选项是否确实是持久的。然而,我在工作时几周的测试似乎表明了这一点,但我不能保证。

  1. 对附件使用基于线程 ID、消息 ID 和部分 ID 的键。

  2. 查看 MessagePartHeader 以获取"X-Attachment-Id"值。这些 id 是我目前用于存储附件 ID 的。

相关内容

  • 没有找到相关文章

最新更新