圧縮ダウンロードを作成

post
https://api.box.com/2.0
/zip_downloads/

複数のファイルやフォルダを1つのzipアーカイブファイルとしてダウンロードするためのリクエストを作成します。このAPIでは、アーカイブは返されませんが、代わりにユーザーがすべての項目にアクセスできるかどうかを確認するチェックがすべて実行され、アーカイブのダウンロードに使用できるdownload_urlおよびstatus_urlが返されます。

The limit for an archive is either the Account's upload limit or 10,000 files, whichever is met first

Request

Bearer [ACCESS_TOKEN]
application/json

Request Body

stringin bodyoptional
January Financials

zipアーカイブの名前 (省略可)。この名前には、January Financials.zipのように、.zipというファイル拡張子が付加されます。

object arrayin bodyrequired

zipアーカイブに追加する項目のリスト。項目にはファイルまたはフォルダを指定できます。

stringin bodyrequired
12345

アーカイブに追加する項目の識別子。この項目がフォルダの場合、IDが0のルートフォルダを指定することはできません。

stringin bodyrequired
file

アーカイブに追加する項目の種類。

Value is one of file,folder.

Response

zipアーカイブをダウンロードする準備ができている場合、このAPIによって、download_urlstatus_urlのほか、リクエストの作成時に発生した可能性のある競合を含むレスポンスが返されます。

パラメータが不足しているか無効の場合はエラーを返します。

ほとんどの場合、このエラーは、JSONリクエスト本文が有効なJSONではないこと、項目のいずれかでIDが誤っているか指定されていないこと、いずれかの項目がファイルでもフォルダでもないこと、またはIDが0のルートフォルダがアーカイブに追加するフォルダのリストに追加されたことが原因で発生する可能性があります。

以下は、このレスポンスに対する共通エラーコードのリストです。

  • bad_request - リクエスト本文がないか無効である、またはファイルリストとフォルダリストの両方が空です。さらに、このエラーは、IDが0のルートフォルダをアーカイブに追加しようとすると返される場合があります。
  • zip_download_file_count_exceeded_limit - リクエストされたファイルおよびフォルダによって、アーカイブのファイル数が10,000を超えます。アーカイブあたりのファイル数を減らすには、リクエストを複数のリクエストに分割する必要があります。
  • zip_download_pre_compressed_bytes_exceeded_limit - the requested files and folders would result in an archive with more than the allowed download limit. The request will have to be split into multiple requests to reduce the size of the archive.

Authorizationヘッダーで指定されているアクセストークンが認識されないか、指定されていない場合に返されます。

承認ヘッダーが指定されていても、ユーザーが項目にアクセスできない場合に返されます。

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

post
圧縮ダウンロードを作成
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

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"
         }
       ]
     }'
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);
BoxZipInfo zipInfo = zip.create("Awesome Zip File", items);
Node
var name = 'test',
items = [
	{
		type: 'file',
		id: '466239504569'
	},
	{
		type: 'folder',
		id: '466239504580'
	}
];
client.files.createZip(name, items)
	.then(zip => {
		/* zip -> {
				"download_url": "https://api.box.com/2.0/zip_downloads/124hfiowk3fa8kmrwh/content",
				"status_url": "https://api.box.com/2.0/zip_downloads/124hfiowk3fa8kmrwh/status",
				"expires_at": "2018-04-25T11:00:18-07:00",
				"name_conflicts": [
					[
						{
							"id": "100",
							"type": "file",
							"original_name": "salary.pdf",
							"download_name": "aqc823.pdf"
						},
						{
							"id": "200",
							"type": "file",
							"original_name": "salary.pdf",
							"download_name": "aci23s.pdf"
						}
					],
					[
						{
							"id": "1000",
							"type": "folder",
							"original_name": "employees",
							"download_name": "3d366a_employees"
						},
						{
							"id": "2000",
							"type": "folder",
							"original_name": "employees",
							"download_name": "3aa6a7_employees"
						}
					]
				]
			}
		*/
	});

Response Example

{
  "type": "error",
  "code": "item_name_invalid",
  "help_url": "http://developers.box.com/docs/#errors",
  "message": "Method Not Allowed",
  "request_id": "abcdef123456",
  "status": 400
}