次の方法で共有


attachment: createUploadSession

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

アプリがファイルの範囲を反復的にアップロードし、ファイルを Outlook アイテムに添付できるようにするアップロード セッションを作成します。 アイテムには 、メッセージ または イベントを指定できます。

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

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

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

  1. アップロード セッションを作成します。
  2. そのアップロード セッション内で、ファイルのすべてのバイトがアップロードされ、ファイルが指定された項目に添付されるまで、バイト範囲 (毎回最大 4 MB) を反復的にアップロードします。
  3. 後でアクセスするために添付ファイルの ID を保存します。
  4. 省略可能: アップロード セッションを削除します。

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

ヒント

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

重要

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

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

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

HTTP 要求

ファイルをイベントに添付するためのアップロード セッションを作成するには:

POST /me/events/{id}/attachments/createUploadSession

ファイルをメッセージに添付するためのアップロード セッションを作成するには:

POST /me/messages/{id}/attachments/createUploadSession

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。

要求本文

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

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

応答

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

:

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

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

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

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

要求

POST https://graph.microsoft.com/beta/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/beta/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://outlook.office.com/api/beta/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 プロパティを に true 設定し、 contentId プロパティを使用して添付ファイルの CID を次に示すように指定します。 下書きメッセージの本文で、同じ CID 値を使用して、CID HTML 参照タグを使用して添付ファイルを含める位置を示します (例: <img src="cid:my_inline_picture">)。 ファイルが正常にアップロードされると、レンダリングされたメッセージには、指定された場所のメッセージ本文の一部として添付ファイルが含まれます。

要求

POST https://graph.microsoft.com/beta/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-"
    ]
}