2017-09-27 16 views
2

Office365のRest APIを使用して添付ファイル付きカレンダーイベントを作成できません。添付ファイルなしでイベントを作成することは問題ではありません。添付ファイル付きのイベントを作成しようとするとイベントが作成されますが、送信するファイルは追加されません。サーバーは201応答コードで応答します。Office365 REST API - 添付ファイル付きカレンダーイベントの作成

私はPOSTリクエストを送信しています:

Authorization: Bearer $(tokenString) 

要求ペイロード:

{ 
    "start": { 
    "dateTime": "2017-09-27T20:00:00.000", 
    "timeZone": "UTC" 
    }, 
    "end": { 
    "dateTime": "2017-09-27T21:00:00.000", 
    "timeZone": "UTC" 
    }, 
    "attendees": [ 
    { 
     "emailAddress": { 
     "address": "[email protected]" 
     }, 
     "type": "Required" 
    } 
    ], 
    "subject": "Example subject", 
    "body": { 
    "content": "Example content", 
    "contentType": "Text" 
    }, 
    "hasAttachments": true, 
    "sensitivity": "Normal", 
    "attachments": [ 
    { 
     "@odata.type": "#microsoft.graph.fileAttachment", 
     "name": "$(fileName)", 
     "contentBytes": "$(base64EncodedString)" 
    } 
    ] 
} 

私はでドキュメントを以下のよ、私は以下のAuthorizationヘッダーを使用

https://graph.microsoft.com/v1.0/me/calendars/$(calendarID)/events 

https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/calendar_post_events。私のイベントはevent schemaに続き、添付ファイルはfileAttachment schemaに続きます。

名前、サイズ、およびコンテンツタイプフィールドを添付ファイルに追加するだけでなく、要求からhasAttachmentsを削除して、@ odata.typeに異なる値を試しました。これらのすべては同じ結果をもたらします - 201レスポンス、および添付ファイルなしで作成されたイベント。

ご協力いただきありがとうございます。

答えて

3

これも表示されます。作成した後のイベントに添付ファイルを投稿することはできますが、最初のペイロードを作成したものは含めないでください。

ので、回避策として、あなたは、イベントを作成することができ、その後、

POST /me/events/{eventid}/attachments 

{ 
    "@odata.type": "#microsoft.graph.fileAttachment", 
    "name": "$(fileName)", 
    "contentBytes": "$(base64EncodedString)" 
} 

を行う私はそれが最初のPOST中に働いていない理由を確認するには、この上のカレンダーの人々に確認しましょう。

+0

この回避策は、ありがとうございます!理想的には、余分なリクエストを避け、一度にすべてのデータをPOSTしたいのですが、これは今のところうまくいきます。 –

関連する問題