BoxWorks 2024でコンテンツとAIの可能性について紹介します。

詳細を表示

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

ガイド ダウンロード ファイルバージョンのダウンロード

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

特定のファイルバージョンをダウンロードするには、取得するコンテンツが含まれるファイルのIDとそのファイルのバージョンIDをGET /files/:id/contentに渡します。

cURL
curl -i -L -X GET "https://api.box.com/2.0/files/12345/content?version=4" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
Java
BoxFile file = new BoxFile(api, "id");
Collection<BoxFileVersion> versions = file.getVersions();
BoxFileVersion firstVersion = versions.iterator().next();

FileOutputStream stream = new FileOutputStream(firstVersion.getName());
firstVersion.download(stream);
stream.close();
Python
file_id = '11111'
file_version = client.file_version('12345')
version_content = client.file(file_id).content(file_version=file_version)
.NET
string fileId = "11111";
Stream versionContents = await client.FilesManager.DownloadStreamAsync(fileId, versionId: "22222");
Node
client.files.getReadStream('123456', { version: '98765' }, callback);

ダウンロードURL

SDKを使用しない場合、このAPIコールでは、HTTP 302 Foundステータスコードとともに、次のようなダウンロードURLへのリンクを含むlocationヘッダーが返されます。

https://dl.boxcloud.com/d/1/[long-random-string]/download

cURLで-Lフラグを使用することで、自動的にこのリダイレクトに従うことができます。

SDKでは、結果として、バイナリデータがダウンロードされます。APIでは、ダウンロードURLがlocationヘッダーを介して返されます。

また、SDKを介してダウンロードURLを取得することも可能です。

ダウンロードURLの有効期限

このダウンロードURLは、ファイルのダウンロードを許可するためにユーザーのブラウザに渡すことができますが、このURLが期限切れになると、その後でダウンロードするには再度リクエストする必要があります。

ファイルの準備ができていない

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

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