如果我的郵箱中有一個帶有.eml(即message/rfc822)附件的郵件,fetching the message via the REST API會返回帶有單個ItemAttachment
的郵件。 ItemAttachment
封裝了代表附加消息的Microsoft.OutlookServices.Message
。附加的Message
對象的空值爲Id
,因此我們無法直接獲取它。但是如果我們想要獲取其中一個附件的內容呢?通過Outlook REST API獲取連接郵件上的附件
Message in Inbox
\--> Attachments
\--> ItemAttachment
\--> Item
\--> Attachments
\--> FileAttachment <-- (want the content of this)
這第二級FileAttachment的具有的@odata.id
:
https://outlook.office.com/api/beta/Users('[email protected]7f0b2a1fa')/('')/Attachments('AAMkAGQ3MzU1BBc2LWFjNTItNDk4Mi1iZTdlLTM3NGM0NzY5NTNmYgBGAAAAAACI4ZQOxnCPTpOe8P6IYO9gBwA_fgVM0BybQ5W_noJvz6hgAAAAAAEMAAA_fgVM0BybQ5W_noJvz6hgAAB2hYE9AAACEgAQAA_BBM8zEqJPrcr4BJ-cOyUSABAAlLV-2suqwEGuRduQ43E9pg==')
但要獲取該對象會因爲缺少MESSAGE_ID路徑段的失敗,任何企圖:
{"error":{"code":"RequestBroker-ParseUri","message":"Empty segment encountered in request URL. Please make sure that a valid request URL is specified."}}
如何獲取該附件的內容?
我會很高興得到一個FileAttachment並自己解析它。這些情況非常罕見,這不是問題。但我沒有收到FileAttachment。我正在使用測試版API,並且正在獲取'「@ odata.type」:「#Microsoft。OutlookServices.ItemAttachment「,」@ odata.id「:」https://outlook.office.com/api/beta/Users('[email protected]7f0b2a1fa' )/ Messages('AAMkAGQ3MzU1YTc2L ...')/ Attachments('AAMkAGQ3MzU ...')「' – dkarp
感謝您的更正。使用Beta版API後,我可以將'eml'附件作爲項目附件可能會重現此問題,正如您在下面描述的文件附件ID返回錯誤 在這種情況下,我們可以擴展原始郵件的附件以獲取項目附件的文件附件的內容。 –