1
如何避免从Gmail Rest API中获取附件数据并获取消息请求。如何避免从Gmail中加载附件数据Rest API获取消息
使用fields参数至少我们能避免加载几个字段,但是当我想加载邮件正文,附件的数据也与身体磨磨蹭蹭就像IMAP
如何避免从Gmail Rest API中获取附件数据并获取消息请求。如何避免从Gmail中加载附件数据Rest API获取消息
使用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
并没有实际的附件数据。
谢谢Tholle快速回答。我正在使用gmail java API并使用获取消息请求。你能否让我在请求中使用你正在使用的参数。 – Mymac
@Mymac我只是使用消息的id,userId:me和format:full,你可以在[API Explorer](https://developers.google.com/gmail/api/ V1 /参考/用户/消息/获取#试穿吧)。如果您只是在同一页上使用与Java示例相同的参数,您将得到相同的响应:'Message message = service.users()。messages()。get(userId,messageId).execute();' – Tholle
我已验证了响应消息,似乎数据属于内联附件。你能否交叉检查内嵌附件的消息(前图) – Mymac