Box Developerドキュメントの新しいベータ版サイトがまもなくリリースされる予定です。最新の開発者向けガイド、APIリファレンス、AI搭載の検索により、Boxを使用した迅速な開発をサポートします。更新情報については今しばらくお待ちください。
フォルダのメタデータを更新します。
メタデータインスタンスを更新できるのは、テンプレートがすでにフォルダに適用されている場合のみです。メタデータを編集する際には、メタデータテンプレートのスキーマに一致した値のみを使用できます。
更新はアトミックに適用されます。操作の適用中にエラーが発生した場合、メタデータインスタンスは変更されません。
12345フォルダを表す一意の識別子。
フォルダIDを確認するには、ウェブアプリケーションでこのフォルダにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/folder/123の場合、folder_idは123です。
Boxアカウントのルートフォルダは常にID 0で表されます。
globalメタデータテンプレートのスコープ。
次の値のいずれか1つ: global,enterprise
propertiesメタデータテンプレートの名前。
メタデータインスタンスに変更を加えるためのJSON-Patchの指定。
変更は操作オブジェクトのJSON配列として表されます。
"/nextState"値の移動元またはコピー元であるメタデータJSONオブジェクト内の場所。moveまたはcopy操作には必須であり、JSON-Pointerの形式である必要があります。
"add"テンプレートに対して実行する変更のタイプ。その中には、既存のテンプレートを変更する際に危険を伴うものもあります。
次の値のいずれか1つ: add,replace,remove,test,move,copy
"/currentState"変更を適用するメタデータJSONオブジェクト内の場所を、JSON-Pointerの形式で指定します。
パスの先頭にはテンプレートのルートを表す/を必ず付ける必要があります。文字~と/は予約文字であるため、キー内ではエスケープする必要があります。
"reviewed"設定またはテストする値。
add、replace、test操作では必須です。addの場合、値がすでに存在するときは、古い値が新しい値で上書きされます。replaceの場合、置換の前に値がすでに存在している必要があります。
testの場合、pathの位置にある既存の値が指定した値と一致している必要があります。
カスタムテンプレートデータを含め、更新されたメタデータテンプレートインスタンスを返します。
リクエスト本文が無効な場合にエラーを返します。
bad_request - リクエスト本文の形式が有効なJSON Patchオブジェクトの配列ではありません。リクエスト本文が有効なJSON Patch項目の配列でない場合、一部のエッジケースでエラーを返します。
予期しないクライアントエラー。
curl -i -X PUT "https://api.box.com/2.0/folders/4353455/metadata/enterprise_27335/blueprintTemplate" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json-patch+json" \
-d '[
{
"op": "test",
"path": "/competitiveDocument",
"value": "no"
},
{
"op": "remove",
"path": "/competitiveDocument"
},
{
"op": "test",
"path": "/status",
"value": "active"
},
{
"op": "replace",
"path": "/status",
"value": "inactive"
},
{
"op": "test",
"path": "/author",
"value": "Jones"
},
{
"op": "copy",
"from": "/author",
"path": "/editor"
},
{
"op": "test",
"path": "/currentState",
"value": "proposal"
},
{
"op": "move",
"from": "/currentState",
"path": "/previousState"
},
{
"op": "add",
"path": "/currentState",
"value": "reviewed"
}
]'await client.folderMetadata.updateFolderMetadataById(
folder.id,
'enterprise' as UpdateFolderMetadataByIdScope,
templateKey,
[
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/name',
value: 'Jack',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/age',
value: 24,
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/birthDate',
value: '2000-01-03T02:20:50.520Z',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/countryCode',
value: 'CA',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/sports',
value: ['football'],
} satisfies UpdateFolderMetadataByIdRequestBody,
],
);client.folder_metadata.update_folder_metadata_by_id(
folder.id,
UpdateFolderMetadataByIdScope.ENTERPRISE,
template_key,
[
UpdateFolderMetadataByIdRequestBody(
op=UpdateFolderMetadataByIdRequestBodyOpField.REPLACE,
path="/name",
value="Jack",
),
UpdateFolderMetadataByIdRequestBody(
op=UpdateFolderMetadataByIdRequestBodyOpField.REPLACE, path="/age", value=24
),
UpdateFolderMetadataByIdRequestBody(
op=UpdateFolderMetadataByIdRequestBodyOpField.REPLACE,
path="/birthDate",
value="2000-01-03T02:20:50.520Z",
),
UpdateFolderMetadataByIdRequestBody(
op=UpdateFolderMetadataByIdRequestBodyOpField.REPLACE,
path="/countryCode",
value="CA",
),
UpdateFolderMetadataByIdRequestBody(
op=UpdateFolderMetadataByIdRequestBodyOpField.REPLACE,
path="/sports",
value=["football"],
),
],
)await client.FolderMetadata.UpdateFolderMetadataByIdAsync(folderId: folder.Id, scope: UpdateFolderMetadataByIdScope.Enterprise, templateKey: templateKey, requestBody: Array.AsReadOnly(new [] {new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/name", Value = "Jack" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/age", Value = 24 },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/birthDate", Value = "2000-01-03T02:20:50.520Z" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/countryCode", Value = "CA" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/sports", Value = Array.AsReadOnly(new [] {"football"}) }}));client.getFolderMetadata().updateFolderMetadataById(folder.getId(), UpdateFolderMetadataByIdScope.ENTERPRISE, templateKey, Arrays.asList(new UpdateFolderMetadataByIdRequestBody.Builder().op(UpdateFolderMetadataByIdRequestBodyOpField.REPLACE).path("/name").value("Jack").build(), new UpdateFolderMetadataByIdRequestBody.Builder().op(UpdateFolderMetadataByIdRequestBodyOpField.REPLACE).path("/age").value(24L).build(), new UpdateFolderMetadataByIdRequestBody.Builder().op(UpdateFolderMetadataByIdRequestBodyOpField.REPLACE).path("/birthDate").value("2000-01-03T02:20:50.520Z").build(), new UpdateFolderMetadataByIdRequestBody.Builder().op(UpdateFolderMetadataByIdRequestBodyOpField.REPLACE).path("/countryCode").value("CA").build(), new UpdateFolderMetadataByIdRequestBody.Builder().op(UpdateFolderMetadataByIdRequestBodyOpField.REPLACE).path("/sports").value(Arrays.asList("football")).build()))await client.FolderMetadata.UpdateFolderMetadataByIdAsync(folderId: folder.Id, scope: UpdateFolderMetadataByIdScope.Enterprise, templateKey: templateKey, requestBody: Array.AsReadOnly(new [] {new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/name", Value = "Jack" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/age", Value = 24 },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/birthDate", Value = "2000-01-03T02:20:50.520Z" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/countryCode", Value = "CA" },new UpdateFolderMetadataByIdRequestBody() { Op = UpdateFolderMetadataByIdRequestBodyOpField.Replace, Path = "/sports", Value = Array.AsReadOnly(new [] {"football"}) }}));await client.folderMetadata.updateFolderMetadataById(
folder.id,
'enterprise' as UpdateFolderMetadataByIdScope,
templateKey,
[
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/name',
value: 'Jack',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/age',
value: 24,
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/birthDate',
value: '2000-01-03T02:20:50.520Z',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/countryCode',
value: 'CA',
} satisfies UpdateFolderMetadataByIdRequestBody,
{
op: 'replace' as UpdateFolderMetadataByIdRequestBodyOpField,
path: '/sports',
value: ['football'],
} satisfies UpdateFolderMetadataByIdRequestBody,
],
);{
"$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
}