1

Office 365 REST API を使用して、メールの添付ファイルを取得しています。添付ファイルを正常に取得できますが、添付ファイルのタイプが : の場合"#Microsoft.OutlookServices.ItemAttachment"。この ItemAttachment の ID を取得し、このリクエストを使用して添付ファイルを取得します。
https://outlook.office.com/api/v1.0/me/messages/MESSAGE_ID/attachments/FILE_ITEM_ID?$expand=Microsoft.OutlookServices.ItemAttachment/Item

応答の戻り値には新しい属性 "Item" があり、HasAttachments = false の "#Microsoft.OutlookServices.Message" が含まれています。しかし、Web Outlook バージョンを使用してみると、このアイテムの添付ファイルを取得できます (この場合は.emlファイルであり、新しいメール フォームが開きます)。例を次に示します。

{"@odata.context"=>
  "https://outlook.office.com/api/v1.0/$metadata#Me/Messages('AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAA%3D')/Attachments/$entity",
 "@odata.type"=>"#Microsoft.OutlookServices.ItemAttachment",
 "@odata.id"=>
  "https://outlook.office.com/api/v1.0/Users('framgia@en-japan.com')/Messages('AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAA=')/Attachments('AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAABEgAQAC0OcoIdL8lNgC520X2uWrg=')",
 "Id"=>"AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAABEgAQAC0OcoIdL8lNgC520X2uWrg=",
 "DateTimeLastModified"=>"2016-02-20T08:49:48Z",
 "Name"=>"[nhung]  mail  dùng chung cho company",
 "ContentType"=>"message/rfc822",
 "Size"=>18619,
 "IsInline"=>false,
 "Item@odata.context"=>
  "https://outlook.office.com/api/v1.0/$metadata#Me/Messages('AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAA%3D')/Attachments('AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgBGAAAAAADkAZdAt2CKRb7qeDvUo2cCBwAM_24JjVmvQpKtlDshSR9tAAAAAAEMAAAM_24JjVmvQpKtlDshSR9tAADa_spkAAABEgAQAC0OcoIdL8lNgC520X2uWrg%3D')/Microsoft.OutlookServices.ItemAttachment/Item/$entity",
 "Item"=>
  {"@odata.type"=>"#Microsoft.OutlookServices.Message",
   "Id"=>nil,
   "DateTimeCreated"=>"2016-02-20T08:49:48Z",
   "DateTimeLastModified"=>"2016-02-20T08:49:48Z",
   "DateTimeReceived"=>"2016-02-20T08:49:42Z",
   "DateTimeSent"=>"2016-02-20T08:49:39Z",
   "HasAttachments"=>false,
   "Subject"=>"[nhung]  mail  dùng chung cho company",
   "Body"=>
    {"ContentType"=>"HTML",
     "Content"=>
      "<html><head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\n<p>--&nbsp;cand_rep</p>\r\n<p>相川 真里和 --comp_name</p>\r\n<p>---&nbsp;comp_established</p>\r\n<p>---&nbsp;comp_address</p>\r\n<p>&nbsp;--&nbsp;comp_business</p>\r\n<p>2110036 --&nbsp;comp_employee</p>\r\n</body>\r\n</html>\r\n"},
   "Sender"=>{"EmailAddress"=>{"Name"=>"framgia 個別アカウント01", "Address"=>"framgia@en-japan.com"}},
   "From"=>{"EmailAddress"=>{"Name"=>"framgia 個別アカウント01", "Address"=>"framgia@en-japan.com"}},
   "ToRecipients"=>[{"EmailAddress"=>{"Name"=>"framgia 個別アカウント01", "Address"=>"framgia@en-japan.com"}}],
   "ConversationId"=>"AAQkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgAQAAjK6iM-EvcpiBrx4E7Ogl4=",
   "IsReadReceiptRequested"=>false,
   "IsRead"=>true,
   "IsDraft"=>false,
   "WebLink"=>"https://outlook.office365.com/owa/?ItemID=AAMkAGRiMjE2MTk3LTg3ZWUtNDg5ZC04YTMwLWYzNmU1MGY0Y2VlNgAAAA%3D%3D&exvsurl=1&viewmodel=ReadMessageItem"}}

.emlでは、 Office 365 REST API を使用してこのファイルを取得するにはどうすればよいでしょうか。誰かが私を助けることができますか?ありがとうございました !

4

1 に答える 1

2

Office 365 API は、アイテムの添付ファイルを *.eml ファイルとして提供しません。*.eml ファイルとしてItemAttachmentが必要な場合は、自分でビルドする必要があります。手順は次のとおりです。このメールのすべての情報にアクセスできるので (新しいItemエントリを参照)、MailMessageインスタンスを作成してから、ここで提案されている手法を呼び出して、MailMessageを *.eml ファイルに保存します。保存方法*.eml または *.msg ファイルとしてディスクへの MailMessage オブジェクト

注: Office365 API を要求するために使用する技術スタックについて言及していませんでした。C# であると想定しました。

于 2016-02-22T08:34:12.760 に答える