Box Developerドキュメント

フォルダロックを作成

post
https://api.box.com/2.0
/folder_locks

フォルダにフォルダロックを作成し、フォルダが移動または削除されないようにします。

このエンドポイントを使用するには、フォルダの所有者または共同所有者として認証されている必要があります。

リクエスト

bearer [ACCESS_TOKEN]
application/json

リクエスト本文

object本文内

ロックの適用先となるフォルダ。

string本文内必須
"1234567890"

フォルダのID。

string本文内必須
"folder"

ロックが適用されているコンテンツタイプ。folderのみがサポートされています。

object本文内

フォルダをロックする操作。locked_operationsがリクエストに含まれている場合は、movedeleteの両方も含めたうえで、どちらもtrueに設定する必要があります。

boolean本文内省略可能
true

フォルダの削除をロックするかどうか。

boolean本文内省略可能
true

フォルダの移動をロックするかどうか。

レスポンス

application/jsonフォルダロック

ロックを適用したユーザーや設定された操作など、フォルダに適用されたフォルダロックのインスタンスを返します。

リクエスト本文が無効な場合にエラーを返します。

  • schema_validation_failed - リクエスト本文に、存在しないフィールドか、値またはタイプが期待されるフィールドタイプと一致しないフィールドの値が含まれています。たとえば、enumまたはmultiSelectフィールドに不明なオプションが指定されている場合があります。

フォルダが見つからなかった場合にエラーを返します。

  • not_found - フォルダが見つからないか、ユーザーがフォルダにアクセスできないか、または呼び出しを行うユーザーがフォルダの所有者または共同所有者ではない場合に返されます。

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

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

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/folder_locks" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "folder": {
         "type": "folder",
         "id": "33552487093"
       },
       "locked_operations": {
         "move": true,
         "delete": true
       }
     }'
TypeScript Gen
await client.folderLocks.createFolderLock({
  folder: {
    id: folder.id,
    type: 'folder',
  } satisfies CreateFolderLockRequestBodyFolderField,
  lockedOperations: {
    move: true,
    delete: true,
  } satisfies CreateFolderLockRequestBodyLockedOperationsField,
} satisfies CreateFolderLockRequestBody);
Python Gen
client.folder_locks.create_folder_lock(
    CreateFolderLockFolder(id=folder.id, type="folder"),
    locked_operations=CreateFolderLockLockedOperations(move=True, delete=True),
)
.NET Gen
await client.FolderLocks.CreateFolderLockAsync(requestBody: new CreateFolderLockRequestBody(folder: new CreateFolderLockRequestBodyFolderField(id: folder.Id, type: "folder")) { LockedOperations = new CreateFolderLockRequestBodyLockedOperationsField(move: true, delete: true) });
iOS
client.folders.createLock(folderId: "22222") { (result: Result<FolderLock, BoxSDKError>) in
    guard case let .success(folderLock) = result else {
        print("Error creating folder lock")
        return
    }

    print("Created folder lock with id \"\(folderLock.id)\" inside of folder with id \"\(folderLock.folder?.id)\"")
}

レスポンスの例

{
  "id": "12345678",
  "type": "folder_lock",
  "created_at": "2020-09-14T23:12:53Z",
  "created_by": {
    "id": "11446498",
    "type": "user"
  },
  "folder": {
    "id": "12345",
    "type": "folder",
    "etag": "1",
    "name": "Contracts",
    "sequence_id": "3"
  },
  "lock_type": "freeze",
  "locked_operations": {
    "delete": true,
    "move": true
  }
}