フォルダをコピー

post
https://api.box.com/2.0
/folders/:folder_id/copy

フォルダのコピーを宛先フォルダ内に作成します。

元のフォルダは変更されません。

リクエスト

Bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
0

コピーするフォルダの一意の識別子。

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

IDが0のルートフォルダはコピーできません。

クエリパラメータ

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

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

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

リクエスト本文

string本文内省略可能
New Folder255

コピーされたフォルダの新しい名前(省略可)。

ファイル名にはいくつかの制約があります。印刷不可能なASCII文字、スラッシュ、およびバックスラッシュ(/\)を含む名前、または末尾にスペースを含む名前は禁止されています。

また、.および..という名前も使用できません。

object本文内

フォルダのコピー先となる宛先フォルダ。

stringnull省略可能
0

親フォルダのID

レスポンス

application/jsonFolder (標準)

コピーされたフォルダを表す新しいフォルダオブジェクトを返します。

使用可能なすべてのフィールドがデフォルトで返されるとは限りません。特定のフィールドを明示的にリクエストするには、fieldsクエリパラメータを使用します。

none

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

一部のパラメータが指定されていないか無効な場合はエラーを返します。

  • bad_request - パラメータが指定されていない場合に返されます。
  • item_name_too_long - 新しいフォルダ名が長すぎる場合に返されます。

元のフォルダまたは宛先フォルダのどちらも見つからないか、 認証済みユーザーがどちらのフォルダにも アクセスできない場合はエラーを返します。

  • not_found - 認証済みユーザーが親フォルダにアクセスできない場合に 返されます

宛先フォルダにこの名前のフォルダがすでに存在している場合、 または宛先フォルダがロックされている場合は エラーを返します

  • item_name_in_use - 同じ名前のフォルダがすでに存在している場合に 返されます。

ルートフォルダをコピーしようとした場合はエラーを返します。

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

post
フォルダをコピー
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -X POST https://api.box.com/2.0/folders/4353455/copy \
     -H 'Authorization: Bearer <ACCESS_TOKEN>'
     -H 'Content-Type: application/json" '
     -d '{
       "parent": {
         "id": "345345"
       }
     }'
.NET
// Copy folder 11111 into folder 22222
var requestParams = new BoxFolderRequest()
{
    Id = "11111",
    Parent = new BoxRequestEntity()
    {
        Id = "22222"
    }
};
BoxFolder folderCopy = await client.FoldersManager.CopyAsync(requestParams);
Java
BoxFolder folder = new BoxFolder(api, "id1");
BoxFolder destination = new BoxFolder(api, "id2");
folder.copy(destination);
Python
folder_id = '22222'
destination_folder_id = '44444'

folder_to_copy = client.folder(folder_id)
destination_folder = client.folder(destination_folder_id)

folder_copy = folder_to_copy.copy(destination_folder)
print('Folder "{0}" has been copied into folder "{1}"'.format(folder_copy.name, folder_copy.parent.name))
Node
client.folders.copy('11111', '22222')
    .then(folderCopy => {
       /* folderCopy -> {
            type: 'folder',
            id: '1234567',
            sequence_id: '0',
            etag: '0',
            name: 'Pictures from 2017',
            created_at: '2012-12-12T10:53:43-08:00',
            modified_at: '2012-12-12T11:15:04-08:00',
            description: 'Some pictures I took',
            size: 629644,
            path_collection: 
            { total_count: 1,
                entries: 
                [ { type: 'folder',
                    id: '0',
                    sequence_id: null,
                    etag: null,
                    name: 'All Files' },
                  { type: 'folder',
                    id: '22222',
                    sequence_id: '3',
                    etag: '3',
                    name: 'Archives' } ] },
            created_by: 
            { type: 'user',
                id: '22222',
                name: 'Example User'
                login: 'user@example.com' },
            modified_by: 
            { type: 'user',
                id: '22222',
                name: 'Example User',
                login: 'user@example.com' },
            owned_by: 
            { type: 'user',
                id: '22222',
                name: 'Example User',
                login: 'user@example.com' },
            shared_link: null,
            parent: 
            { type: 'folder',
                id: '22222',
                sequence_id: '3',
                etag: '3',
                name: 'Archives' },
            item_status: 'active',
            item_collection: 
            { total_count: 1,
                entries: 
                [ { type: 'file',
                    id: '44444',
                    sequence_id: '0',
                    etag: '0',
                    sha1: '134b65991ed521fcfe4724b7d814ab8ded5185dc',
                    name: 'tigers.jpeg' } ],
                offset: 0,
                limit: 100 } }
        */
    });
iOS
client.folders.copy(
    folderId: "22222",
    destinationFolderID: "12345"
) { (result: Result<Folder, BoxSDKError>) in
    guard case let .success(folderCopy) = result else {
        print("Error copying folder")
        return
    }

    print("Copied folder \(folderCopy.name) to destination \(folderCopy.parent?.name)")
}

レスポンスの例

{}