2016-06-07 26 views
2

我已經編寫了一個應用程序,它可以通過我設計的一個小型控制檯應用程序自動從我們的系統發送郵件,作爲webjob運行。該應用程序發送郵件完全正常,直到我嘗試添加attatchments的集合。參照https://msdn.microsoft.com/office/office365/APi/mail-rest-operations#Createandsendmessages 我嘗試發送自己的代碼示例這個含有我Attatchments集合的單個對象,看起來像這樣Outlook Rest API發送帶附件的郵件

{ "@odata.type": "#Microsoft.OutlookServices.FileAttachment", "Name": "menu.txt", "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" }

然而,在此之後API請求被錯誤拒絕:

{"error":{"code":"RequestBodyRead","message":"The property 'ContentBytes' does not exist on type 'Microsoft.OutlookServices.Attachment'. Make sure to only use property names that are defined by the type."}} 

此外,在展望服務支持熱線上花費半個小時的時間,去結賬一些論壇,並閱讀我一直在用於參考的文章,因爲我開始了我所投入的項目。如果任何人都可以幫助我讓這個API接受請求,我會永遠感謝。

這是樣本請求的樣子。

POST https://outlook.office.com/api/v2.0/me/sendmail 
    { 
     "Message": { 
     "Subject": "Meet for lunch?", 
     "Body": { 
      "ContentType": "Text", 
      "Content": "The new cafeteria is open." 
     }, 
     "ToRecipients": [ 
      { 
      "EmailAddress": { 
       "Address": "[email protected]" 
      } 
      } 
     ], 
     "Attachments": [ 
      { 
      "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
      "Name": "menu.txt", 
      "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
      } 
     ] 
     }, 
     "SaveToSentItems": "false" 
    } 

而且我知道消息對象有其設置爲true時不影響通話的結果HasAttachments的布爾標誌。

回答

1

基於錯誤信息,您正在使用「Microsoft.OutlookServices.FileAttachment」的「Microsoft.OutlookServices.Attachment」這一翻譯。

我也可以在使用'Microsoft.OutlookServices.Attachment'時重現此問題。 而上面使用'Microsoft.OutlookServices.FileAttachment'的示例對我來說效果不錯。

請確保您使用'Microsoft.OutlookServices.FileAttachment'發送文本附件。

+0

該示例與我的代碼行匹配。關於你的開放性評論,我可以做些什麼來聲明這是一個FileAttatchment當我提供屬性 - >「@ odata.type」:「#Microsoft.OutlookServices.FileAttachment」我在我的結尾使用的類肯定是無關緊要的,只要屬性匹配我的意思是這是JSON時,它到達微軟。我敢肯定,我在某個地方做了一個愚蠢的事,我只是無能爲力,至於它究竟是什麼。 – Ben