ファイルとフォルダの転送
ファイルとフォルダの転送
ユーザーアカウントのプロビジョニング解除における一般的な要件の1つが、ユーザーアカウント内に保存されているすべてのファイルとフォルダを別のユーザーアカウント、またはサービスアカウントなどの長期保存用の場所に転送することです。
Box内でこれを実行するのに使用される一般的な方法は以下の2つです。
- すべてのコンテンツをあるユーザーから別のユーザーに直接移動する、所有フォルダの移動APIを使用する。
- コラボレーション転送の方法を使用して、一度に1つのファイルまたはフォルダの所有権を、あるユーザーから別のユーザーに変更する。
所有フォルダの移動APIの使用
所有フォルダの移動エンドポイントは、あるユーザーが所有するコンテンツ全体を別のユーザーに移動することを目的に設計されています。
転送エンドポイントを呼び出すには、転送元のユーザーIDと転送先のユーザーIDを指定します。
await client.transfer.transferOwnedFolder(
newUser.id,
{
ownedBy: {
id: currentUser.id,
} satisfies TransferOwnedFolderRequestBodyOwnedByField,
} satisfies TransferOwnedFolderRequestBody,
{
queryParams: { notify: false } satisfies TransferOwnedFolderQueryParams,
} satisfies TransferOwnedFolderOptionalsInput,
);
コラボレーション転送の使用
コラボレーション転送は、コラボレーションエンドポイントを使用して、単一のファイルまたはフォルダの所有権をあるユーザーから別のユーザーに即座に変更するプロセスです。
transfer_from_user
からtransfer_to_user
への転送の一般的なプロセスは以下の手順に従います。
転送先ユーザーを共同所有者として追加
最初の手順は、転送するファイルまたはフォルダへのco-owner
アクセス権限を持つコラボレータとして、transfer_to_user
アカウントを追加することです。
transfer_from_user
アカウントとして呼び出しを行い、コラボレーションを追加エンドポイントを使用してtransfer_to_user
を共同所有者として追加します。
curl -i -X POST "https://api.box.com/2.0/collaborations" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"item": {
"type": "file",
"id": "11446498"
},
"accessible_by": {
"type": "user",
"login": "user@example.com"
},
"role": "editor"
}'
転送先ユーザーとしてコラボレーションIDを取得
次の手順では、コラボレーション情報を取得するリクエストをtransfer_to_user
アカウントとして実行します。返されるコラボレーションオブジェクトには、最後の手順で使用するコラボレーションIDが含まれます。
transfer_to_user
アカウントとして呼び出しを実行し、コラボレーションを取得エンドポイントを使用して、転送するファイルまたはフォルダのIDのコラボレーションを取得します。コラボレーションIDをキャプチャします。
転送元ユーザーを所有者として削除
最後の手順は、ファイルまたはフォルダの所有者としてtransfer_from_user
アカウントを削除することです。これは、コラボレーションを削除エンドポイントを使用して行います。
transfer_to_user
アカウントとして呼び出しを実行し、ファイルまたはフォルダのコラボレータとしてtransfer_from_user
を削除します。
これにより、ファイルまたはフォルダの所有者はtransfer_to_user
アカウントになり、transfer_from_user
アカウントはアクセスできなくなります。