如何避免从Gmail Rest API获取消息加载附件数据



如何避免从Gmail Rest API加载附件数据与get消息请求。

使用fields参数至少可以避免加载少量字段但当我想加载消息正文时,附件数据也会随正文一起加载就像IMAP

不像在IMAP中那样获得附件。你得到一个attachmentId,你必须在一个额外的请求中使用它来获得附件。

我刚刚给自己发了一张图片。来自API的响应是这样的:

{
 "id": "1573ec1aa0976b42",
 "threadId": "1573ec1aa0976b42",
 "labelIds": [
  "SENT",
  "INBOX",
  "IMPORTANT",
  "UNREAD"
 ],
 "snippet": "",
 "historyId": "939514",
 "internalDate": "1474226662000",
 "payload": {
  "mimeType": "multipart/related",
  "filename": "",
  "headers": [ ... ],
  "body": {
   "size": 0
  },
  "parts": [
   {
    "mimeType": "multipart/alternative",
    "filename": "",
    "headers": [
     {
      "name": "Content-Type",
      "value": "multipart/alternative; boundary=94eb2c0d3cba8637a2053ccd2461"
     }
    ],
    "body": {
     "size": 0
    },
    "parts": [
     { ... },
     {
      "partId": "1",
      "mimeType": "image/png",
      "filename": "Screen Shot",
      "headers": [ ... ],
      "body": {
       "attachmentId": "ANGjdJ-bmCvsIaV-4KfALXzVV_D567w4i6ksLnwIZhLAl3VXCE335663UbmOLC_vbLrCFusNtnWVpdTv3i88uR482kFwLZqAcwmI7C5gFlamob2aK4-lqAPlCZs17jtCQR9y5Mt4nnpP_Kg64N9qgXbDF0E2vYnEw4xwtEKEo4fRIAbc94ZjjfynFD832mh1B37XFMt-bYw9wkNv24xBife0koBNYpKs-gGLJkfu2EoZouqunGDX9ry1jq2jW2AClWcFXPXvgRBMjUcoRDPtvb9LLLrBhDjU1hu6r1Ibc3c2BSoBogT8QyIp2VUCuFU",
       "size": 1511996
      }
     }
    ]
   },
   "sizeEstimate": 1513185
}

可以看到,它只包含一个attachmentId,没有实际的附件数据。

最新更新