Box Developerドキュメント

zipアーカイブをダウンロード

get
https://dl.boxcloud.com/2.0
/zip_downloads/:zip_download_id/content

zipアーカイブのコンテンツをバイナリ形式で返します。このURLは、どのような形式の認証も要求せず、ユーザーのブラウザでユーザーのデバイスにアーカイブをダウンロードする際に使用できます。

デフォルトでは、このURLの有効期間は、このアーカイブに対するリクエストを作成してから数秒間だけです。一度ダウンロードが開始されると、停止して再開することはできません。代わりに、zipアーカイブに対する新しいリクエストを作成する必要があります。

このエンドポイントのURLは固定であるとは考えないでください。代わりに、zipダウンロードを作成APIを使用してzipアーカイブの作成をリクエストした後、このエンドポイントのレスポンスにあるdownload_urlフィールドに従ってください。

リクエスト

application/json

パスパラメータ

stringパス内必須
Lu6fA9Ob-jyysp3AAvMF4AkLEwZwAYbL=tgj2zIC=eK9RvJnJbjJl9rNh2qBgHDpyOCAOhpM=vajg2mKq8Mdd

このzipアーカイブを表す一意の識別子。

レスポンス

application/octet-stream

zipアーカイブのファイルおよびフォルダをストリームの形式にして、このダウンロードに対してリクエストされた項目のコンテンツを返します。

このダウンロードリクエストのIDが無効な場合にエラーを返します。また、このエラーは、以前にこのURLが呼び出されている場合にも返されます。このアーカイブを再度ダウンロードするには、zipダウンロードの新しいリクエストを作成してください。

ユーザーまたは会社の同時実行zipダウンロード数に達した場合にエラーを返します。

  • user_too_many_concurrent_downloads - ユーザーあたりのzipアーカイブの並行ダウンロード数が最大値5に達しました。
  • enterprise_too_many_concurrent_downloads - 企業あたりのzipアーカイブの並行ダウンロード数が最大値10に達しました。

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

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

リクエストの例

cURL
curl -L GET "https://dl.boxcloud.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/content" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -o sample_curl.zip
TypeScript Gen
await client.zipDownloads.getZipDownloadContent(zipDownload.downloadUrl!);
Python Gen
client.zip_downloads.get_zip_download_content(zip_download.download_url)
.NET Gen
await client.ZipDownloads.GetZipDownloadContentAsync(downloadUrl: NullableUtils.Unwrap(zipDownload.DownloadUrl));
Java
ArrayList<BoxZipItem> items = new ArrayList<BoxZipItem>();
BoxZipItem file = new BoxZipItem("file", "12345");
BoxZipItem folder = new BoxZipItem("folder", "156472");
items.add(file);
items.add(folder);
BoxZip zip = new BoxZip(api);
FileOutputStream stream = new FileOutputStream();
BoxZipDownloadStatus zipDownloadStatus = zip.download("Another Awesome Zip File", items, stream);
stream.close();
if (zipDownloadStatus.getState() == BoxZipDownloadStatus.State.SUCCEEDED) {
    System.out.println("Zip downloaded successfully");
}
Python
name = 'test'
file = mock_client.file('466239504569')
folder = mock_client.folder('466239504580')
items = [file, folder]
output_file = open('test.zip', 'wb')
status = client.download_zip(name, items, output_file)
print(f'The status of the zip download is {status["state"]}')
.NET
BoxZipRequest request = new BoxZipRequest();
request.Name = "test";
request.Items = new List<BoxZipItemRequest>();

var file = new BoxZipRequestItem()
{
    Id = "466239504569",
    Type = BoxZipItemType.file
};
var folder = new BoxZipRequestItem()
{
    Id = "466239504580",
    Type = BoxZipItemType.folder
};
request.Items.Add(file);
request.Items.Add(folder);
Stream fs = new FileStream(@"c:\temp\MyTest.zip");

BoxZipDownloadStatus status = await _filesManager.DownloadZip(request, fs);
Node
var name = 'test',
items = [
	{
		type: 'file',
		id: '466239504569'
	},
	{
		type: 'folder',
		id: '466239504580'
	}
],
stream = new Readable();
client.files.downloadZip(name, items, stream)
	.then(status => {
		/* status -> {
				"total_file_count": 20,
				"downloaded_file_count": 10,
				"skipped_file_count": 10,
				"skipped_folder_count": 10,
				"state": "succeeded"
			}
		*/
	});