添付ファイル: createUploadSession

名前空間: microsoft.graph

アプリがファイルの範囲を繰り返しアップロードして、指定したアイテムにファイルを添付できるアップロード セッションをOutlookします。 アイテムには、メッセージまたは イベントを 指定 できます

ファイル サイズが 3 MB ~ 150 MB の場合は、この方法を使用してファイルを添付します。 3 MB 未満のファイルを添付するには、Outlook アイテムの attachments ナビゲーション プロパティで操作を行います。メッセージまたはイベントに対してこれを行う方法を POST 参照してください。

応答の一部として、このアクションは、後続の順次クエリで使用できるアップロード URL を PUT 返します。 各操作の要求 PUT ヘッダーを使用すると、アップロードする正確なバイト範囲を指定できます。 これにより、アップロード中にネットワーク接続が削除された場合に、転送を再開できます。

アップロード セッションを使用してファイルをアイテムに添付Outlook手順を次に示します。

  1. アップロード セッションを作成します。
  2. そのアップロード セッション内で、ファイルのすべてのバイトがアップロードされ、指定されたアイテムにファイルが添付されるまで、バイト範囲 (各回に最大 4 MB) を繰り返しアップロードします。
  3. 今後のアクセスのために添付ファイルの ID を保存します。
  4. オプション: アップロード セッションを削除します。

については、「大規模なファイルをメッセージOutlookイベントに添付する」を参照してください。

ヒント

Exchange Online管理者は、メッセージの添付ファイルを含むMicrosoft 365メールボックスのメッセージ サイズ制限をカスタマイズできます。 既定では、このメッセージ サイズの制限は 35 MB です。 最大メッセージ サイズを カスタマイズして、 テナントの既定の制限より大きい添付ファイルをサポートする方法について確認します。

重要

共有メールボックスまたは委任 メールボックス内 のメッセージまたはイベントに大きなファイルを添付する場合は、既知の問題に注意してください。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Calendars.ReadWrite, Mail.ReadWrite
委任 (個人用 Microsoft アカウント) Calendars.ReadWrite, Mail.ReadWrite
アプリケーション Calendars.ReadWrite, Mail.ReadWrite

HTTP 要求

ファイルをイベントに添付するアップロード セッションを作成 するには、次の手順を実行します。

POST /me/events/{id}/attachments/createUploadSession
POST /users/{id | userPrincipalName}/events/{id}/attachments/createUploadSession

ファイルをメッセージに添付するアップロード セッションを作成 するには、次の手順を実行します。

POST /me/messages/{id}/attachments/createUploadSession
POST /users/{id | userPrincipalName}/messages/{id}/attachments/createUploadSession

要求ヘッダー

名前 説明
Authorization ベアラー {トークン}

要求本文

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 説明
AttachmentItem attachmentItem アップロードおよび添付するアイテムの属性を表します。 少なくとも、添付ファイルの種類 ( file )、名前、およびファイルのサイズを指定します。

応答

成功した場合、このメソッドは応答コードと、応答本文の新しい 201 Created uploadSession オブジェクトを返します。

:

uploadSession 応答オブジェクトの一部として返される uploadUrl プロパティは、ファイルのバイト範囲をアップロードする後続のクエリの不透明な URL PUT です。 このトークンには、expirationDateTime によって期限切れになる後続のクエリに適 PUT した認証 トークンが含まれます。 この URL はカスタマイズしない。

nextExpectedRanges プロパティは、次にアップロードするファイル バイトの場所を指定します。たとえば、 を指定します "NextExpectedRanges":["2097152"] 。 ファイル内のバイトを順番にアップロードする必要があります。

例 1: 下書きメッセージに大きな添付ファイルを追加するアップロード セッションを作成する

次の例は、指定したメッセージに対する後続のファイルアップロード操作で使用できるアップロード セッションを作成する方法を示しています。

要求

POST https://graph.microsoft.com/v1.0/me/messages/AAMkADI5MAAIT3drCAAA=/attachments/createUploadSession
Content-type: application/json

{
  "AttachmentItem": {
    "attachmentType": "file",
    "name": "flower", 
    "size": 3483322
  }
}

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://outlook.office.com/api/v1.0/Users('a8e8e219-4931-95c1-b73d-62626fd79c32@72aa88bf-76f0-494f-91ab-2d7cd730db47')/Messages('AAMkADI5MAAIT3drCAAA=')/AttachmentSessions('AAMkADI5MAAIT3k0uAAA=')?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IktmYUNIUlN6bllHMmNI",
    "expirationDateTime": "2019-09-25T01:09:30.7671707Z",
    "nextExpectedRanges": [
        "0-"
    ]
}

例 2: 大きな行内添付ファイルを下書きメッセージに追加するアップロード セッションを作成する

次の例は、大きなインライン添付ファイルを下書きメッセージに追加するために使用できるアップロード セッションを作成する方法を示しています。

インライン添付ファイルの場合は 、isInline プロパティを contentId プロパティに設定し、contentId プロパティを使用して、以下に示すように添付ファイルの true CID を指定します。 下書きメッセージの本文で、同じ CID 値を使用して、たとえば CID HTML 参照タグを使用して添付ファイルを含める位置を示します <img src="cid:my_inline_picture"> 。 ファイルを正常にアップロードすると、レンダリングされたメッセージには、指定した場所のメッセージ本文の一部として添付ファイルが含まれます。

要求

POST https://graph.microsoft.com/v1.0/me/messages/AAMkAGUwNjQ4ZjIxLTQ3Y2YtNDViMi1iZjc4LTMA=/attachments/createUploadSession
Content-type: application/json

{
  "AttachmentItem": {
    "attachmentType": "file",
    "name": "scenary", 
    "size": 7208534,
    "isInline": true,
    "contentId": "my_inline_picture"
  }
}

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://outlook.office.com/api/gv1.0/users('a8e8e219-4931-95c1-b73d-62626fd79c32@72aa88bf-76f0-494f-91ab-2d7cd730db47')/messages('AAMkAGUwNjQ4ZjIxLTQ3Y2YtNDViMi1iZjc4LTMA=')/AttachmentSessions('AAMkAGUwNjQ4ZjIxLTAAA=')?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1bXdXYVh5UFJ",
    "expirationDateTime": "2021-12-27T14:20:12.9708933Z",
    "nextExpectedRanges": [
        "0-"
    ]
}