2016-07-20 28 views
0

Outlook REST APIを使用するアプリケーションでは、HTMLメールのインラインイメージをサポートするために、特定のメールのFile AttachmentsContentIdを取得する必要があります。Outlook REST APIを使用してContentBytesを持たないContentId(または任意のFileAttachmentプロパティ)を取得する

注: HTMLメールでは、問題が返されるJSONもContentBytes含まれる画像が<input scr="cid:mycontentid">

は私がURL https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments

で、この情報を取得するために管理し、フォームのHTMLタグですインライン化されことができます大きな添付ファイルのために任意の大きさ。

{"error":{"code":"RequestBroker-ParseUri","message":"Could not find a property named 'ContentId' on type 'Microsoft.OutlookServices.Attachment'."}} 

期待タイプの悪い要求で、その結果、

https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments?$select=Id,ContentIdまたは'$select=Id&$expand=ContentId'が、それらのどれも働いた

は、私は私のような必要なフィールドだけを取得するには、いくつかの構文を試してみましたURL '/attachments'は、 File AttachmentsとItem Attachmentの基本タイプである Microsoft.OutlookServices.Attachmentです。

ファイルアタッチメント(ContentId)の特定のメンバーを取得するか、結果に含まれる重いContentBytesを破棄したいと考えています。

答えて

1

エンドポイントがme/messages/{message_id}/attachmentsの場合、添付ファイルのコレクションが返されます。

コンテンツIDは、FileAttachmentのプロパティです。あなたはfileAttachmentのコンテンツIDを取得するために以下のコードを使用することができます:

GET: https://outlook.office.com/api/v2.0/me/messages/{messageId}/attachments?$select=Microsoft.OutlookServices.FileAttachment/ContentId 

EDIT: 備考:あなたは、他のフィールドを検索したい場合は、$select=Microsoft.OutlookServices.FileAttachment/ContentId,Nameが動作するNameノートと言うこと$select=Name,Microsoft.OutlookServices.FileAttachment/ContentIdますが元の質問に記載されているエラーを投げる

+0

ありがとう!それは実際には、私はその前にそのような要求を試したが、$ selectの他のフィールドと試してみたところ、エラーが出た。最初にContentIdを取得する必要があります。私にとって重要と思われたので、私はあなたの答えを編集しました。 –

関連する問題