Box Developerドキュメント

Box Developerドキュメントの新しいベータ版サイトがまもなくリリースされる予定です。最新の開発者向けガイド、APIリファレンス、AI搭載の検索により、Boxを使用した迅速な開発をサポートします。更新情報については今しばらくお待ちください。

最新バージョン

ファイルバージョンをアップロード

post
https://upload.box.com/api/2.0
/files/:file_id/content

このエンドポイントはバージョン2024.0です。引き続き使用するために 変更は必要ありません。詳細については、 **Box APIのバージョン管理**を参照してください。

ファイルのコンテンツを更新します。ファイルサイズが50 MBを超える場合は、分割アップロードAPIを使用することをお勧めします。

本文のattributes部分はfile部分のに置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400エラーとmetadata_after_file_contentsエラーコードが返されます。

リクエスト

bearer [ACCESS_TOKEN]
multipart/form-data

リクエストヘッダー

stringヘッダー内省略可能
134b65991ed521fcfe4724b7d814ab8ded5185dc

ファイルが転送中に破損していないことを確認するための、ファイルのSHA1ハッシュを含むヘッダー (省略可)。

stringヘッダー内省略可能
1

変更を加える前にこの項目が最近変更されていないことを確認します。

その項目の最後に認識されたetag値をこのヘッダーに渡すと、それ以降に項目が変更されている場合、エンドポイントは412 Precondition Failedを返して失敗します。

パスパラメータ

stringパス内必須
12345

ファイルを表す一意の識別子。

ファイルIDを確認するには、ウェブアプリケーションでファイルにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/files/123の場合、file_id123です。

クエリパラメータ

string arrayクエリ内省略可能
id,type,name

レスポンスに含める属性のコンマ区切りリスト。このパラメータを使用すると、標準のレスポンスには通常含まれないフィールドをリクエストできます。

このパラメータを指定すると、明示的に指定しない限り標準フィールドはレスポンスに含まれず、リクエストしたフィールドのほかには、Mini版の表示のフィールドしか返されないことに注意してください。

リクエスト本文

object本文内

アップロードされるファイルの追加の属性。主に名前と親フォルダ。これらの属性はマルチパートリクエスト本文に含まれており、JSON形式です。

本文のattributes部分はfile部分のに置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400エラーとmetadata_after_file_contentsエラーコードが返されます。

string (date-time)本文内必須
"2012-12-12T10:53:43-08:00"

ファイルが最後に変更された日時を示します。

設定されていない場合は、アップロード日時が使用されます。

string本文内必須
"Photo 2.0.png"

ファイルの新しい名前 (省略可)。指定した場合は、新しいバージョンがアップロードされると、ファイル名が変更されます。

string (binary)本文内必須

Boxにアップロードするファイルのコンテンツ。

本文のattributes部分はfile部分のに置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400エラーとmetadata_after_file_contentsエラーコードが返されます。

レスポンス

application/jsonFiles

リスト内の新しいファイルオブジェクトを返します。

If-Matchヘッダーがファイルの現在のetag値と一致しない場合にエラーを返します。これは、ファイルが前回リクエストされたときから変更されていることを示します。

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

post
ファイルバージョンをアップロード
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

Box SDKのバージョン戦略の詳細については、 **こちら**を確認してください。


cURL
curl -i -X POST "https://upload.box.com/api/2.0/files/12345/content" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: multipart/form-data" \
     -F attributes='{"name":"Contract.pdf", "parent":{"id":"11446498"}}' \
     -F file=@<FILE_NAME>
Node/TypeScript v10
await client.uploads.uploadFileVersion(file.id, {
  attributes: {
    name: file.name!,
  } satisfies UploadFileVersionRequestBodyAttributesField,
  file: generateByteStream(20),
} satisfies UploadFileVersionRequestBody);
Python v10
client.uploads.upload_file_version(
    uploaded_file.id,
    UploadFileVersionAttributes(name=new_file_version_name),
    new_file_content_stream,
)
.NET v10
await client.Uploads.UploadFileVersionAsync(fileId: uploadedFile.Id, requestBody: new UploadFileVersionRequestBody(attributes: new UploadFileVersionRequestBodyAttributesField(name: newFileVersionName), file: newFileContentStream));
Java v10
client.getUploads().uploadFileVersion(uploadedFile.getId(), new UploadFileVersionRequestBody(new UploadFileVersionRequestBodyAttributesField(newFileVersionName), newFileContentStream))
.NET v6
await client.Uploads.UploadFileVersionAsync(fileId: uploadedFile.Id, requestBody: new UploadFileVersionRequestBody(attributes: new UploadFileVersionRequestBodyAttributesField(name: newFileVersionName), file: newFileContentStream));
Node v4
await client.uploads.uploadFileVersion(file.id, {
  attributes: {
    name: file.name!,
  } satisfies UploadFileVersionRequestBodyAttributesField,
  file: generateByteStream(20),
} satisfies UploadFileVersionRequestBody);

レスポンスの例

{
  "entries": [
    {
      "etag": "1",
      "id": "12345",
      "type": "file",
      "file_version": {
        "id": "12345",
        "type": "file_version",
        "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
      },
      "name": "Contract.pdf",
      "sequence_id": "3",
      "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
      "content_created_at": "2012-12-12T10:53:43-08:00",
      "content_modified_at": "2012-12-12T10:53:43-08:00",
      "created_at": "2012-12-12T10:53:43-08:00",
      "created_by": {
        "id": "11446498",
        "type": "user",
        "login": "ceo@example.com",
        "name": "Aaron Levie"
      },
      "description": "Contract for Q1 renewal",
      "item_status": "active",
      "modified_at": "2012-12-12T10:53:43-08:00",
      "modified_by": {
        "id": "11446498",
        "type": "user",
        "login": "ceo@example.com",
        "name": "Aaron Levie"
      },
      "owned_by": {
        "id": "11446498",
        "type": "user",
        "login": "ceo@example.com",
        "name": "Aaron Levie"
      },
      "parent": {
        "etag": "1",
        "id": "12345",
        "type": "folder",
        "name": "Contracts",
        "sequence_id": "3"
      },
      "path_collection": {
        "entries": [
          {
            "etag": "1",
            "id": "12345",
            "type": "folder",
            "name": "Contracts",
            "sequence_id": "3"
          }
        ],
        "total_count": 1
      },
      "purged_at": "2012-12-12T10:53:43-08:00",
      "shared_link": {
        "access": "open",
        "download_count": 3,
        "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
        "effective_access": "company",
        "effective_permission": "can_download",
        "is_password_enabled": true,
        "permissions": {
          "can_download": true,
          "can_edit": false,
          "can_preview": true
        },
        "preview_count": 3,
        "unshared_at": "2018-04-13T13:53:23-07:00",
        "url": "https://www.box.com/s/vspke7y05sb214wjokpk",
        "vanity_name": "my_url",
        "vanity_url": "https://acme.app.box.com/v/my_url/"
      },
      "size": 629644,
      "trashed_at": "2012-12-12T10:53:43-08:00",
      "allowed_invitee_roles": [
        "editor"
      ],
      "classification": {
        "color": "#FF0000",
        "definition": "Content that should not be shared outside the company.",
        "name": "Top Secret"
      },
      "comment_count": 10,
      "disposition_at": "2012-12-12T10:53:43-08:00",
      "expires_at": "2012-12-12T10:53:43-08:00",
      "expiring_embed_link": {
        "access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
        "expires_in": 3600,
        "restricted_to": [
          {
            "object": {
              "etag": "1",
              "id": "12345",
              "type": "folder",
              "name": "Contracts",
              "sequence_id": "3"
            },
            "scope": "item_download"
          }
        ],
        "token_type": "bearer",
        "url": "https://cloud.app.box.com/preview/expiring_embed/..."
      },
      "extension": "pdf",
      "has_collaborations": true,
      "is_accessible_via_shared_link": true,
      "is_associated_with_app_item": true,
      "is_externally_owned": true,
      "is_package": true,
      "lock": {
        "app_type": "office_wopiplus",
        "created_at": "2012-12-12T10:53:43-08:00",
        "created_by": {
          "id": "11446498",
          "type": "user",
          "login": "ceo@example.com",
          "name": "Aaron Levie"
        },
        "expired_at": "2012-12-12T10:53:43-08:00",
        "id": "11446498",
        "is_download_prevented": true,
        "type": "lock"
      },
      "metadata": {
        "enterprise_27335": {
          "marketingCollateral": {
            "$canEdit": true,
            "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
            "$parent": "folder_59449484661",
            "$scope": "enterprise_27335",
            "$template": "marketingCollateral",
            "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
            "$typeVersion": 2,
            "$version": 1
          }
        }
      },
      "permissions": {
        "can_delete": true,
        "can_download": true,
        "can_invite_collaborator": true,
        "can_rename": true,
        "can_set_share_access": true,
        "can_share": true,
        "can_annotate": true,
        "can_comment": true,
        "can_preview": true,
        "can_upload": true,
        "can_view_annotations_all": true,
        "can_view_annotations_self": true
      },
      "representations": {
        "entries": [
          {
            "content": {
              "url_template": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567"
            },
            "info": {
              "url": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048"
            },
            "properties": {
              "dimensions": "2048x2048",
              "paged": "true",
              "thumb": "true"
            },
            "representation": "png",
            "status": {
              "state": "success"
            }
          }
        ]
      },
      "shared_link_permission_options": [
        "can_preview"
      ],
      "tags": [
        "approved"
      ],
      "uploader_display_name": "Ellis Wiggins",
      "version_number": "1",
      "watermark_info": {
        "is_watermarked": true
      }
    }
  ],
  "total_count": 1
}