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

时间:2015-01-23 06:23:22

标签: google-api gmail-api

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

每次为Google的GMail API(https://developers.google.com/gmail/api/v1/reference/users/messages/get)调用Users.messages.get服务以检索包含附件的邮件时,即使使用了相同的messageId,返回的attachmentId也会有所不同。我怎样才能找到"真实"附件ID?

2 个答案:

答案 0 :(得分:0)

我必须将附件ID存储在数据库中,我甚至不确定下面的两个选项是否确实存在。我在测试它的几个星期的测试似乎表明它,但我无法保证。

  1. 使用基于threadid,messageid和partid的键作为附件。

  2. 查看一下' X-Attachment-Id'的MessagePartHeader。值。这些id是我目前用于存储附件ID的内容。

答案 1 :(得分:0)

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

  1. attachmentID 不会过期。令牌只是从附件的存储 remotePartReference 中生成的。
  2. 如果您使用的是attachmentId,为了避免两次导入同一个附件以获得附件的稳定标识符,您可以尝试使用附件的文件名+ sha1 哈希的组合。如果您通过 stubby 调用 Gmail API,您应该能够读取附件的 sha1 哈希值。

希望其他人也会觉得这很有用。