如何使用 Gmail API 查找用于获取电子邮件的附件 ID?

How to Find the Attachment ID for Getting an Email Using the Gmail API?

我使用 Python 通过 Gmail-API 访问 Gmail。我想进行一个简单的调用以下载电子邮件的附件,为此您必须传递三个参数:ID、消息 ID 和 UserID。我有最后两个,但我在哪里可以找到第一个?文档说这是附件的 ID,所以我在 Gmail 中尝试了 "show original" 选项,但没有成功。 API 不断返回错误消息 "invalid attachment token"。我在哪里可以找到附件 ID?

https://developers.google.com/gmail/api/v1/reference/users/messages/attachments/get

为了检索特定邮件附件的 ID,您必须通过 Users.messages.get 获取邮件资源,并从该响应中检索 ID 的附件。

这个 ID 可以在 the corresponding message partbody 属性 中找到(您可以使用 filename 之类的属性来了解每个附件对应的附件ID),如本例所示:

{
  "payload": {
    "parts": [
      {
        "filename": {attachment_filename},
        "body": {
          "attachmentId": {attachment_id}
          // other body properties
        },
        // other part properties
      },
      // other parts
    ],
    // other payload properties
  },
  // other message properties
}

参考: