メタデータテンプレートを更新するには、操作の配列をPUT /metadata_templates/:scope/:templateKey/schema APIに渡します。
curl -i -X PUT "https://api.box.com/2.0/metadata_templates/enterprise/blueprintTemplate/schema" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json-patch+json" \
-d '[
{
"op": "editField",
"fieldKey": "category",
"data": {
"displayName": "Customer Group"
}
}
]'
管理者権限が必須メタデータテンプレートの更新は、管理者権限を持つユーザーに制限されています。つまり、管理者、または管理者から会社のメタデータテンプレートを作成、編集する権限が付与されている共同管理者だけがウェブアプリまたはAPIを使用してテンプレートを管理できます。
メタデータテンプレートの更新は、テンプレート自体を直接変更するのではなく、操作を利用して実行されます。この方法では、ファイルおよびフォルダにすでに適用されている既存のメタデータインスタンスを更新できます。
テンプレートの操作
テンプレートの操作により、テンプレートの詳細またはフィールドが更新されます。一般的に、これらの操作は、あまり影響なくテンプレートインスタンスに適用されるため安全です。
テンプレートの編集
editTemplate操作では、displayNameやcopyInstanceOnItemCopyなど、テンプレートの基本プロパティを編集できます。
| パラメータ | |
|---|
data | 変更するプロパティを表すオブジェクト |
[
{
"op": "editTemplate",
"data": {
"displayName": "Client",
"copyInstanceOnItemCopy": true
}
}
]
これにより、新しい表示名がClientになるようにテンプレートが更新されます。
これは、このテンプレートの既存のインスタンスに影響します。
テンプレートへのフィールドの追加
addField操作では、テンプレートにフィールドを追加します。
| パラメータ | |
|---|
data | 追加するフィールドを表すオブジェクト |
[
{
"op": "addField",
"data": {
"displayName": "Category",
"key": "category",
"hidden": false,
"type": "string"
}
}
]
これにより、displayNameおよびkeyがcategoryに指定されている、非表示ではない新しい文字列フィールドが追加されます。
これは、このテンプレートの既存のインスタンスに影響します。
フィールドの並べ替え
reorderFields操作では、テンプレート内のフィールドのリストを、リクエストされたフィールドリストに合わせて並べ替えます。
| パラメータ | |
|---|
fieldKeys | リクエストされた順番になっているフィールドキーの新しいリスト |
{
"op": "reorderFields",
"fieldKeys": ["field2", "field1", "field3"]
}
これにより、テンプレートのフィールドは、最初にfield2、その後field1、field3が続くように並べ替えられます。
これは、このテンプレートの既存のインスタンスに影響します。フィールドは並べ替えられますが、フィールドの値はそのまま変わりません。
フィールドの操作
フィールドの操作により、テンプレートのスキーマが変換されます。以下に、このAPIで使用できる、以前に割り当てたテンプレートのデータを変更する可能性のある操作のリストを示します。
このような変更は、ファイルの変更ではなくテンプレートの変更としてログに記録されます。
フィールドの編集
editField操作では、displayName、description、key、hidden状態など、フィールドの基本プロパティをいくつでも編集できます。
| パラメータ | |
|---|
data | フィールドに設定する新しいプロパティを表すオブジェクト |
fieldKey | 編集するフィールドのキー |
{
"op": "editField",
"fieldKey": "category",
"data": {
"displayName": "Customer Group"
}
}
これにより、新しい表示名がCustomer Groupになるようにフィールドcategoryが更新されます。このキーが変更された場合、指定されたフィールドの既存の値は新しいキーに移行されます。検索インデックスは更新されますが、更新にかかる時間は、この変更の対象となるファイルの数によって異なります。
これは、このテンプレートの既存のインスタンスに影響する可能性があります。
フィールドの削除
removeField操作では、テンプレートからフィールドを削除します。
| パラメータ | |
|---|
fieldKey | テンプレートから削除するフィールドのキー |
{
"op": "removeField",
"fieldKey": "brand"
}
これにより、フィールドbrandは、テンプレートに加えて、テンプレートのすべてのインスタンスから削除されます。検索インデックスは更新されますが、更新にかかる時間は、この変更の対象となるファイルの数によって異なります。
これは、このテンプレートの既存のインスタンスに影響します。
フィールドオプションの操作
enumおよびmultiSelectメタデータフィールドタイプはどちらも、フィールドのオプションを変更するための追加操作をサポートしています。
| 操作 | |
|---|
addEnumOption | enumフィールドにオプションを追加します |
editEnumOption | enumフィールドのオプションを編集します |
reorderEnumOptions | enumフィールドのオプションを並べ替えます |
removeEnumOption | enumフィールドのオプションを削除します |
addMultiSelectOption | multiSelectフィールドにオプションを追加します |
editMultiSelectOption | multiSelectフィールドのオプションを編集します |
reorderMultiSelectOptions | multiSelectフィールドのオプションを並べ替えます |
removeMultiSelectOption | multiSelectフィールドのオプションを削除します |