ZIPアーカイブのダウンロード
ZIPアーカイブのダウンロード
フォルダ内のすべてのファイル、またはフォルダ構造全体をダウンロードするには、ZIPアーカイブを作成してダウンロードする必要があります。
ZIPアーカイブの作成
最初に、ファイルまたはフォルダ構造を含むZIPアーカイブを作成する必要があります。アカウントのアップロード上限に達しない限り、最大10,000のファイルまたはフォルダIDを含めることができます。
cURL
curl -i -X POST "https://api.box.com/2.0/zip_downloads" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-d '{
"download_file_name": "January Financials",
"items": [
{
"type": "file",
"id": "12345"
},
{
"type": "file",
"id": "34325"
},
{
"type": "folder",
"id": "45678"
}
]
}'Node/TypeScript v10
await client.zipDownloads.createZipDownload({
items: [
{
id: file1.id,
type: 'file' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
{
id: file2.id,
type: 'file' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
{
id: folder1.id,
type: 'folder' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
],
downloadFileName: 'zip',
} satisfies ZipDownloadRequest);Python v10
client.zip_downloads.create_zip_download(
[
CreateZipDownloadItems(id=file_1.id, type=DownloadZipItemsTypeField.FILE),
CreateZipDownloadItems(id=file_2.id, type=DownloadZipItemsTypeField.FILE),
CreateZipDownloadItems(id=folder_1.id, type=DownloadZipItemsTypeField.FOLDER),
],
download_file_name="zip",
).NET v10
await client.ZipDownloads.CreateZipDownloadAsync(requestBody: new ZipDownloadRequest(items: Array.AsReadOnly(new [] {new ZipDownloadRequestItemsField(id: file1.Id, type: ZipDownloadRequestItemsTypeField.File),new ZipDownloadRequestItemsField(id: file2.Id, type: ZipDownloadRequestItemsTypeField.File),new ZipDownloadRequestItemsField(id: folder1.Id, type: ZipDownloadRequestItemsTypeField.Folder)})) { DownloadFileName = "zip" });Swift v10
try await client.zipDownloads.createZipDownload(requestBody: ZipDownloadRequest(items: [ZipDownloadRequestItemsField(id: file1.id, type: ZipDownloadRequestItemsTypeField.file), ZipDownloadRequestItemsField(id: file2.id, type: ZipDownloadRequestItemsTypeField.file), ZipDownloadRequestItemsField(id: folder1.id, type: ZipDownloadRequestItemsTypeField.folder)], downloadFileName: "zip"))Java v10
client.getZipDownloads().createZipDownload(new ZipDownloadRequest.Builder(Arrays.asList(new ZipDownloadRequestItemsField(ZipDownloadRequestItemsTypeField.FILE, file1.getId()), new ZipDownloadRequestItemsField(ZipDownloadRequestItemsTypeField.FILE, file2.getId()), new ZipDownloadRequestItemsField(ZipDownloadRequestItemsTypeField.FOLDER, folder1.getId()))).downloadFileName("zip").build()).NET v6
await client.ZipDownloads.CreateZipDownloadAsync(requestBody: new ZipDownloadRequest(items: Array.AsReadOnly(new [] {new ZipDownloadRequestItemsField(id: file1.Id, type: ZipDownloadRequestItemsTypeField.File),new ZipDownloadRequestItemsField(id: file2.Id, type: ZipDownloadRequestItemsTypeField.File),new ZipDownloadRequestItemsField(id: folder1.Id, type: ZipDownloadRequestItemsTypeField.Folder)})) { DownloadFileName = "zip" });Node v4
await client.zipDownloads.createZipDownload({
items: [
{
id: file1.id,
type: 'file' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
{
id: file2.id,
type: 'file' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
{
id: folder1.id,
type: 'folder' as ZipDownloadRequestItemsTypeField,
} satisfies ZipDownloadRequestItemsField,
],
downloadFileName: 'zip',
} satisfies ZipDownloadRequest);レスポンスは以下の ようになります。
{
"download_url": "https://dl.boxcloud.com/2.0/zip_downloads/25gvaXcIE4QJlinNiw2oHAQ==ZFs3Q2Xpd7pKBz7OyzXNrUaoW3aJxQRN5znAvyM-KpdEEPdWcQDKU-Dl85Ew/content",
"status_url": "https://api.box.com/2.0/zip_downloads/25gvaXcIE4QJlinNiw2oHAQ==ZFs3Q2Xpd7pKBz7OyzXNrUaoW3aJxQRN5znAvyM-KpdEEPdWcQDKU-Dl85Ew/status",
"expires_at": "2023-02-28T10:23:54Z",
"name_conflicts": []
}
ZIPダウンロードIDの抽出
ZIPアーカイブをダウンロードするには、ZIPダウンロードIDが必要です。これは、アーカイブの作成時に返されたレスポンスで確認できます。
status_urlに移動し、zip_downloadsとcontentの間にあるIDをコピーします。
25gvaXcIE4QJlinNiw2oHAQ==ZFs3Q2Xpd7pKBz7OyzXNrUaoW3aJxQRN5znAvyM-KpdEEPdWcQDKU-Dl85Ew