フォルダのコピー
フォルダのコピー
フォルダのコピーを宛先フォルダ内に作成します。
元のフォルダは変更されません。
Box上でフォルダをコピーするには、コピー先となるparentフォルダのidをAPIに渡す必要があります。
curl -i -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"
}
}'await client.folders.copyFolder(folderOrigin.id, {
parent: { id: '0' } satisfies CopyFolderRequestBodyParentField,
name: copiedFolderName,
} satisfies CopyFolderRequestBody);client.folders.copy_folder(
folder_origin.id, CopyFolderParent(id="0"), name=copied_folder_name
)await client.Folders.CopyFolderAsync(folderId: folderOrigin.Id, requestBody: new CopyFolderRequestBody(parent: new CopyFolderRequestBodyParentField(id: "0")) { Name = copiedFolderName });try await client.folders.copyFolder(folderId: folderOrigin.id, requestBody: CopyFolderRequestBody(parent: CopyFolderRequestBodyParentField(id: "0"), name: copiedFolderName))client.getFolders().copyFolder(folderOrigin.getId(), new CopyFolderRequestBody.Builder(new CopyFolderRequestBodyParentField("0")).name(copiedFolderName).build())await client.Folders.CopyFolderAsync(folderId: folderOrigin.Id, requestBody: new CopyFolderRequestBody(parent: new CopyFolderRequestBodyParentField(id: "0")) { Name = copiedFolderName });await client.folders.copyFolder(folderOrigin.id, {
parent: { id: '0' } satisfies CopyFolderRequestBodyParentField,
name: copiedFolderName,
} satisfies CopyFolderRequestBody);オプションで、新しいフォルダに別の名前を付けることもできます。
非同期コピー
コピーされるフォルダに含まれる項目が500個以下の場合は、APIコールと同時にコピーが実行されます。コールはコピー操作が完了するまで復帰しません。
コピー元のフォルダに500個を超える項目が含まれる場合は、非同期的にコピー操作が実行され、APIコールはコピー操作が完了していなくても直ちに復帰します。現時点では、コピー操作がいつ終了したのかを確認するAPIはありません。
フォルダのロック
この操作の進行中は、ファイルツリーの一部がロックされます。ロックされるのは、主に元のフォルダとその子孫フォルダ、および宛先フォルダです。
操作の進行中は、ロックされているどのフォルダに対しても、他の移動、コピー、削除、または復元操作を実行できません。最も重要な点は、同じフォルダをフォルダツリーの2つの異なる部分に同時にコピーすることはできないということです。
メタデータ
宛先フォルダのいずれかの親フォルダにメタデータカスケードポリシーが適用されている場合は、メタデータカスケード操作が非同期的に開始されます。
現時点では、この操作がいつ終了したのかを確認するAPIはありません。