圧縮ダウンロードを作成

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

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

アーカイブの上限は32GBまたは10,000ファイルのいずれかで、先に達した上限が適用されます。

リクエスト

Bearer [ACCESS_TOKEN]
application/json

リクエスト本文

string本文内省略可能
January Financials

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

object array本文内必須

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

string本文内必須
12345

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

string本文内必須
file

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

次の値のいずれか1つ: file,folder.

レスポンス

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 - リクエストされたファイルおよびフォルダにより、アーカイブのコンテンツが32GBを超えます。アーカイブのサイズを縮小するには、リクエストを複数のリクエストに分割する必要があります。

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

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

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

post
圧縮ダウンロードを作成
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

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"
						}
					]
				]
			}
		*/
	});

レスポンスの例

{
  "download_url": "https://dl.boxcloud.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/content",
  "status_url": "https://api.box.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/status",
  "expires_at": "2020-07-22T11:26:08Z",
  "name_conflicts": [
    [
      {
        "id": "12345",
        "type": "file",
        "original_name": "Report.pdf",
        "download_name": "3aa6a7.pdf"
      },
      {
        "id": "34325",
        "type": "file",
        "original_name": "Report.pdf",
        "download_name": "5d53f2.pdf"
      }
    ]
  ]
}