Box Developerドキュメント

ファイルをダウンロード

get
https://api.box.com/2.0
/files/:file_id/content

ファイルのコンテンツをバイナリ形式で返します。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
12345

ファイルを表す一意の識別子。

ファイルIDを確認するには、ウェブアプリケーションでファイルにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/files/123の場合、file_id123です。

クエリパラメータ

stringクエリ内省略可能
c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ

このリクエストの事前認証に使用できるアクセストークン (省略可)。つまり、ダウンロードリンクは、認証の処理方法を知らなくても、ブラウザまたはサードパーティのサービスと共有できます。このパラメータを使用する際は、そのファイルへの読み取りアクセスだけを許可するよう、アクセストークンが十分にダウンスコープされていることを確認してください。

stringクエリ内省略可能
4

ダウンロードするファイルバージョン

リクエストヘッダー

stringヘッダー内省略可能
shared_link=[link]&shared_link_password=[password]

この項目の共有リンクのURLと省略可能なパスワード。

このヘッダーを使用すると、ユーザーと明示的に共有されていない項目にアクセスできます。

shared_link=[link]形式を使用するか、パスワードが必要な場合はshared_link=[link]&shared_link_password=[password]を使用します。

このヘッダーは、共有されているファイルまたはフォルダのほか、その項目内にネストされているすべてのファイルやフォルダで使用できます。

stringヘッダー内省略可能
bytes=0-1024

ダウンロードするコンテンツのバイト範囲。

bytes={start_byte}-{end_byte}の形式を使用して、ダウンロードするファイルのセクションを指定できます。

レスポンス

application/octet-stream

クライアントが自動的にリダイレクトとしてHTTP 3xxレスポンスに従うようにリダイレクトに従う設定を有効にしている場合は、リクエストされたファイルを返します。有効にしていない場合は、代わりに302が返されます。詳細については、ファイルのダウンロードに関するガイドを参照してください。

none

ファイルをダウンロードする準備ができていない場合は、クライアントがファイルをダウンロードできるようになるまでの秒数を示すRetry-Afterヘッダーが返されます。

このレスポンスは、ダウンロードリクエストの直前にファイルがアップロードされた場合に発生することがあります。

none

ファイルがダウンロード可能な場合、レスポンスにはdl.boxcloud.com上のファイルのLocationヘッダーが含まれます。

dl.boxcloud.comというURLは永続的ではないため、クライアントで実際にファイルをダウンロードするには、リダイレクト指示に従う必要があります。

予期しないクライアントエラー。

get
ファイルをダウンロード
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -L -X GET "https://api.box.com/2.0/files/12345/content" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
TypeScript Gen
const fs = require('fs');

const fileContent = await client.downloads.downloadFile('123456789');
const fileWriteStream = fs.createWriteStream('file.pdf');
fileContent.pipe(fileWriteStream);
Python Gen
client.downloads.download_file(uploaded_file.id)
.NET Gen
await client.Downloads.DownloadFileAsync(fileId: uploadedFile.Id);
Java
BoxFile file = new BoxFile(api, "id");
BoxFile.Info info = file.getInfo();

FileOutputStream stream = new FileOutputStream(info.getName());
file.download(stream);
stream.close();
Python
file_id = '11111'
file_content = client.file(file_id).content()
.NET
Stream fileContents = await client.FilesManager.DownloadStreamAsync(id: "11111");
Node
var fs = require('fs');
client.files.getReadStream('12345', null, function(error, stream) {

	if (error) {
		// handle error
	}

	// write the file to disk
	var output = fs.createWriteStream('/path/to/file');
	stream.pipe(output);
});
iOS
let url = FileManager.default.homeDirectoryForCurrentUser

let task: BoxDownloadTask = client.files.download(fileId: "11111", destinationURL: url) { (result: Result<Void, BoxSDKError>) in
    guard case .success = result else {
        print("Error downloading file")
        return
    }

    print("File downloaded successfully")
}

// To cancel download
if someConditionIsSatisfied {
    task.cancel()
}