2016-09-18 30 views

回答

0

就像你在做你不拿到附件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並沒有實際的附件數據。

+0

謝謝Tholle快速回答。我正在使用gmail java API並使用獲取消息請求。你能否讓我在請求中使用你正在使用的參數。 – Mymac

+0

@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

+0

我已驗證了響應消息,似乎數據屬於內聯附件。你能否交叉檢查內嵌附件的消息(前圖) – Mymac