attachment: createUploadSession

名前空間: microsoft.graph

重要

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

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

ファイル サイズが 3 MB から 150 MB の場合は、この方法を使用してファイルを添付します。 3 MB より小さいファイルを添付するには、Outlook アイテムの添付ファイルのナビゲーション プロパティで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-"
    ]
}