DriveItem のコンテンツをダウンロードするDownload the contents of a DriveItem

DriveItem のプライマリ ストリーム (ファイル) のコンテンツをダウンロードします。Download the contents of the primary stream (file) of a DriveItem. file プロパティを持つ driveItem のみがダウンロード可能です。Only driveItems with the file property can be downloaded.

アクセス許可Permissions

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

アクセス許可の種類Permission type アクセス許可 (特権の小さいものから大きいものへ)Permissions (from least to most privileged)
委任 (職場または学校のアカウント)Delegated (work or school account) Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All
アプリケーションApplication Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.AllFiles.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

HTTP 要求HTTP request

GET /drives/{drive-id}/items/{item-id}/content
GET /groups/{group-id}/drive/items/{item-id}/content
GET /me/drive/root:/{item-path}:/content
GET /me/drive/items/{item-id}/content
GET /sites/{siteId}/drive/items/{item-id}/content
GET /users/{userId}/drive/items/{item-id}/content

オプションの要求ヘッダーOptional request headers

名前Name Value 説明Description
if-none-matchif-none-match StringString この要求ヘッダーが含まれている場合、指定された eTag (または cTag) がファイルの現在のタグに一致すると、HTTP 304 Not Modified 応答が返されます。If this request header is included and the eTag (or cTag) provided matches the current tag on the file, an HTTP 304 Not Modified response is returned.

Example

完全なファイルをダウンロードする例を示します。Here is an example to download a complete file.

GET /me/drive/items/{item-id}/content

応答Response

ファイルの事前認証されたダウンロード URL にリダイレクトする、302 Found 応答を返します。これは、DriveItem の @microsoft.graph.downloadUrl プロパティを通じて使用可能な URL と同じものです。Returns a 302 Found response redirecting to a pre-authenticated download URL for the file. This is the same URL available through the @microsoft.graph.downloadUrl property on the DriveItem.

ファイルのコンテンツをダウンロードするには、アプリケーションで応答の Location ヘッダーに従う必要があります。To download the contents of the file your application will need to follow the Location header in the response. 多くの HTTP クライアント ライブラリは、自動的に 302 リダイレクションに従い、即座にファイルのダウンロードを開始します。Many HTTP client libraries will automatically follow the 302 redirection and start downloading the file immediately.

事前認証されたダウンロード URL は、短期間 (数分) のみ有効で、ダウンロードのために Authorization ヘッダーを必要としません。Pre-authenticated download URLs are only valid for a short period of time (a few minutes) and do not require an Authorization header to download.

HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi

部分的な範囲のダウンロードPartial range downloads

ファイルから部分的なバイトの範囲をダウンロードするには、RFC 2616 で規定されているように、アプリで Range ヘッダーを使用します。Range ヘッダーは実際の @microsoft.graph.downloadUrl URL に追加する必要があり、/content の要求には追加しない点に注意してください。To download a partial range of bytes from the file, your app can use the Range header as specified in RFC 2616. Note that you must append the Range header to the actual @microsoft.graph.downloadUrl URL and not to the request for /content.

GET https://b0mpua-by3301.files.1drv.com/y23vmag
Range: bytes=0-1023

これにより、ファイルからのバイトの要求範囲を含む HTTP 206 Partial Content 応答が返されます。範囲が生成できない場合、Range ヘッダーは無視され、ファイルの完全なコンテンツを含む HTTP 200 応答が返されます。This will return an HTTP 206 Partial Content response with the request range of bytes from the file. If the range cannot be generated the Range header may be ignored and an HTTP 200 response would be returned with the full contents of the file.

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048
Content-Type: application/octet-stream

<first 1024 bytes of file>

エラー応答Error responses

エラーがどのように返されるかについては、「エラー応答」を参照してください。See Error Responses for more info about how errors are returned.