2017-01-31 147 views
1

我們在C#應用程序中使用GMail Api,並收到帶有嵌入式圖像的消息。 如果您查看GMail帳戶(作爲用戶在瀏覽器中),但無法在Payload中找到它,或者在使用api時無法獲得附件ID,則可以看到圖像。訪問嵌入式圖像

api是否支持訪問嵌入圖像?

如果我使用:

var part = message.Payload.Parts 
          .Where(x => x.MimeType.Equals(mimeType)) 
          .Select(x => x.Body.Data) 
          .FirstOrDefault(); 

的MIME類型設置爲GIF,JPEG或TIFF它總是回來爲空;

+0

您在這裏使用某種.Net API,請標記您的問題。 – DavidG

+0

當你傳遞MIME類型爲'Gif,Jpeg或Tiff'時,你是否將它們傳遞爲適當的'image/gif' mime類型?也許試試'x.MimeType.Contains(「image」)'來獲取所有的圖像格式。 –

回答

0

您可能要檢查 - Users.messages: get

獲取指定的消息。

要在閱讀電子郵件消息資源表示時特別熟悉結構。我使用Try it now獲得響應主體中的Users.messages resource以及如何形成。

檢查電子郵件時,嵌入的圖像將落入有效負載。

........ 
    { 
     "partId": "1", 
     "mimeType": "image/png", 
     "filename": "pasted1", 
     "headers": [ 
     { 
      "name": "Content-Type", 
      "value": "image/png; name=pasted1" 
     }, 
......... 

這是應該看起來像。

希望這會有所幫助。

+0

夥計們感謝您的及時答覆。所以我今天早上做了一些更多的檢查。在兩種情況下,我們都收到了兩封電子郵件,它們似乎嵌入了圖像。在一個案例中,它是一個「圖像/ PNG」,也有part.Body.AttachmentId所以都很好,我可以使用API​​提取出來。在另一種情況下(這引發了問題),如果我遍歷所有部分沒有圖像,但是當您在瀏覽器中查看GMail中的此電子郵件時,您可以看到一個嵌入式圖像(它也是一個png) 。可能是Api中存在某種錯誤。 – UtlGatekeeper