BoxWorks 2024でコンテンツとAIの可能性について紹介します。
詳細を表示ファイルのコピーを作成します。
12345
ファイルを表す一意の識別子。
ファイルIDを確認するには、ウェブアプリケーションでファイルにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/files/123
の場合、file_id
は123
です。
id,type,name
レスポンスに含める属性のコンマ区切りリスト。このパラメータを使用すると、標準のレスポンスには通常含まれないフィールドをリクエストできます。
このパラメータを指定すると、明示的に指定しない限り標準フィールドはレスポンスに含まれず、リクエストしたフィールドのほかには、Mini版の表示のフィールドしか返されないことに注意してください。
"FileCopy.txt"
255
コピーされたファイルの新しい名前 (省略可)。
ファイル名にはいくつかの制約があります。印刷不可能なASCII文字、スラッシュ、およびバックスラッシュ (/
、\
) を含む名前のほか、.
や..
のような予約済みの名前は、許可されていない文字を削除することで自動的にサニタイズされます。
ファイルのコピー先となるフォルダ。
"0"
ファイルのコピー先となるフォルダのID。
"0"
コピーする特定のファイルバージョンのID (省略可)
コピーされたファイルを表す新しいファイルオブジェクトを返します。
使用可能なすべてのフィールドがデフォルトで返されるとは限りません。特定のフィールドを明示的にリクエストするには、fieldsクエリパラメータを使用します。
If-None-Match
ヘッダーがファイルの現在のetag
値と一致する場合は、空のレスポンスを返します。これは、ファイルが前回リクエストされたときから変更されていないことを示します。
パラメータが不足しているか無効の場合はエラーを返します。
bad_request
- パラメータが指定されていない場合に返されます。ユーザーにファイルのコピーを作成するための適切な権限がない場合にエラーを返します。
forbidden_by_policy
: 情報バリアの制限によりファイルのコピーが禁止されている場合に返されます。ソースファイルまたは宛先フォルダのどちらも見つからないか、認証済みユーザーがどちらにもアクセスできない場合はエラーを返します。
not_found
- 認証済みユーザーがソースファイルまたは宛先フォルダにアクセスできない場合に返されますoperation_blocked_temporary
: 別の移動、コピー、削除、または復元操作が進行中であるために宛先フォルダまたは元のフォルダがロックされている場合に返されます。
操作は後で再試行することができます。
item_name_in_use
- 同じ名前のフォルダがすでに存在している場合に返されます。
予期しないクライアントエラー。
curl -i -X POST "https://api.box.com/2.0/files/12345/copy" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"parent": {
"id": "123"
}
}'
await client.files.copyFile(fileOrigin.id, {
parent: { id: '0' } satisfies CopyFileRequestBodyParentField,
name: copiedFileName,
} satisfies CopyFileRequestBody);
client.files.copy_file(file_origin.id, CopyFileParent(id="0"), name=copied_file_name)
await client.Files.CopyFileAsync(fileId: fileOrigin.Id, requestBody: new CopyFileRequestBody(parent: new CopyFileRequestBodyParentField(id: "0")) { Name = copiedFileName });
// Copy a file into the user's root folder
BoxFolder rootFolder = BoxFolder.getRootFolder(api);
BoxFile file = new BoxFile(api, "id");
BoxFile.Info copiedFileInfo = file.copy(rootFolder, "New Name");
file_id = '11111'
destination_folder_id = '44444'
file_to_copy = client.file(file_id)
destination_folder = client.folder(destination_folder_id)
file_copy = file_to_copy.copy(parent_folder=destination_folder)
print(f'File "{file_copy.name}" has been copied into folder "{file_copy.parent.name}"')
string fileId = "11111";
string destinationFolderId = "22222";
var requestParams = new BoxFileRequest()
{
Id = fileId,
Parent = new BoxRequestEntity()
{
Id = destinationFolderId
}
};
BoxFile fileCopy = await client.FilesManager.CopyAsync(requestParams);
var fileID = '11111';
var destinationFolderID = '22222';
client.files.copy(fileID, destinationFolderID)
.then(fileCopy => {
/* fileCopy -> {
type: 'file',
id: '11112',
file_version:
{ type: 'file_version',
id: '99999',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33' },
sequence_id: '0',
etag: '0',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33',
name: 'My File.pdf',
description: '',
size: 68431,
path_collection:
{ total_count: 1,
entries:
[ { type: 'folder',
id: '0',
sequence_id: null,
etag: null,
name: 'All Files' },
{ type: 'folder',
id: '22222',
sequence_id: null,
etag: null,
name: 'Personal Files' } ] },
created_at: '2017-05-16T15:18:02-07:00',
modified_at: '2017-05-16T15:18:02-07:00',
trashed_at: null,
purged_at: null,
content_created_at: '2017-05-16T15:18:02-07:00',
content_modified_at: '2017-05-16T15:18:02-07:00',
created_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
modified_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
owned_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
shared_link: null,
parent:
{ type: 'folder',
id: '22222',
sequence_id: null,
etag: null,
name: 'Personal Files' }
item_status: 'active' }
*/
});
client.files.copy(fileId: "11111", parentId: "0") { (result: Result<File, BoxSDKError>) in
guard case let .success(copiedFile) = result else {
print("Error copying file")
return
}
print("Copied file \(copiedFile.name) into folder \(copiedFile.parent.name); copy has file ID \(copiedFile.id)")
}
{
"id": "12345",
"type": "file",
"allowed_invitee_roles": [
"editor"
],
"classification": {
"color": "#FF0000",
"definition": "Content that should not be shared outside the company.",
"name": "Top Secret"
},
"comment_count": 10,
"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",
"disposition_at": "2012-12-12T10:53:43-08:00",
"etag": "1",
"expires_at": "2012-12-12T10:53:43-08:00",
"expiring_embed_link": {
"access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
"expires_in": 3600,
"restricted_to": [
{
"scope": "item_download",
"object": {
"id": "12345",
"etag": "1",
"type": "folder",
"sequence_id": "3",
"name": "Contracts"
}
}
],
"token_type": "bearer",
"url": "https://cloud.app.box.com/preview/expiring_embed/..."
},
"extension": "pdf",
"file_version": {
"id": "12345",
"type": "file_version",
"sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
},
"has_collaborations": true,
"is_accessible_via_shared_link": true,
"is_associated_with_app_item": true,
"is_externally_owned": true,
"is_package": true,
"item_status": "active",
"lock": {
"id": "11446498",
"type": "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",
"is_download_prevented": true
},
"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
}
}
},
"modified_at": "2012-12-12T10:53:43-08:00",
"modified_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"name": "Contract.pdf",
"owned_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"parent": {
"id": "12345",
"type": "folder",
"etag": "1",
"name": "Contracts",
"sequence_id": "3"
},
"path_collection": {
"entries": [
{
"id": "12345",
"etag": "1",
"type": "folder",
"sequence_id": "3",
"name": "Contracts"
}
],
"total_count": 1
},
"permissions": {
"can_annotate": true,
"can_comment": true,
"can_delete": true,
"can_download": true,
"can_invite_collaborator": true,
"can_preview": true,
"can_rename": true,
"can_set_share_access": true,
"can_share": true,
"can_upload": true,
"can_view_annotations_all": true,
"can_view_annotations_self": true
},
"purged_at": "2012-12-12T10:53:43-08:00",
"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"
}
}
]
},
"sequence_id": "3",
"sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
"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/"
},
"shared_link_permission_options": [
"can_preview"
],
"size": 629644,
"tags": [
"approved"
],
"trashed_at": "2012-12-12T10:53:43-08:00",
"uploader_display_name": "Ellis Wiggins",
"version_number": "1",
"watermark_info": {
"is_watermarked": true
}
}