指定したメタデータテンプレートを指定したフォルダに適用し、そのフォルダ内のすべてのファイルに自動的にカスケードする新しいメタデータカスケードポリシーを作成します。
ポリシーを適用するには、まず、ポリシーの適用先となるフォルダにメタデータインスタンスを適用する必要があります。
"1234567"
ポリシーを適用するフォルダのID。このフォルダには、ターゲットメタデータテンプレートのインスタンスがすでに適用されている必要があります。
"enterprise"
ターゲットメタデータテンプレートのスコープ。このテンプレートでは、ターゲットフォルダにすでにインスタンスが適用されている必要があります。
次の値のいずれか1つ: global
,enterprise
"productInfo"
ターゲットメタデータテンプレートのキー。このテンプレートでは、ターゲットフォルダにすでにインスタンスが適用されている必要があります。
多くの場合、テンプレートキーはその表示名から自動的に派生します。たとえば、Contract Template
の場合はcontractTemplate
となります。場合によっては、テンプレートの作成者が独自のテンプレートキーを指定することもあります。
テンプレートのキーを調べるには、会社のテンプレートのリストを取得するか、ファイルまたはフォルダ上のすべてのインスタンスを取得してください。
新しいメタデータカスケードポリシーを返します
パラメータのいずれかが有効な形式でない場合はエラーを返します。
bad_request
- scope
、templateKey
、またはfolder_id
が有効な形式ではありません。制限されたフォルダ (IDが0
のルートフォルダなど) にポリシーを適用しようとした場合にエラーを返します。
forbidden
- フォルダIDが有効で、ユーザーはこのフォルダにアクセスできますが、ポリシーをこのフォルダに割り当てられませんでした。テンプレートまたはフォルダが見つからないか、ユーザーがフォルダまたはテンプレートにアクセスできない場合はエラーを返します。
instance_tuple_not_found
- テンプレートが見つからないか、ユーザーがテンプレートにアクセスできません。not_found
- フォルダが見つからないか、ユーザーがフォルダにアクセスできない場合に返されます。このフォルダとテンプレートのポリシーがすでに設定されている場合はエラーを返します。
tuple_already_exists
- このfolder_id
、scope
、およびtemplateKey
の組み合わせのカスケードポリシーがすでに存在する場合に返されます。予期しないクライアントエラー。
curl -i -X POST "https://api.box.com/2.0/metadata_cascade_policies" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"folder_id": "12321",
"scope": "enterprise_27335",
"templateKey": "productInfo"
}'
await client.metadataCascadePolicies.createMetadataCascadePolicy({
folderId: folder.id,
scope: 'enterprise' as CreateMetadataCascadePolicyRequestBodyScopeField,
templateKey: templateKey,
} satisfies CreateMetadataCascadePolicyRequestBody);
client.metadata_cascade_policies.create_metadata_cascade_policy(
folder.id, CreateMetadataCascadePolicyScope.ENTERPRISE.value, template_key
)
await client.MetadataCascadePolicies.CreateMetadataCascadePolicyAsync(requestBody: new CreateMetadataCascadePolicyRequestBody(folderId: folder.Id, scope: CreateMetadataCascadePolicyRequestBodyScopeField.Enterprise, templateKey: templateKey));
folder = client.folder(folder_id='22222')
metadata_template = client.metadata_template('enterprise', 'securityClassiciation')
cascade_policy = folder.cascade_metadata(metadata_template)
print(f'Folder {cascade_policy.parent.id} has a metadata cascade policy for {cascade_policy.scope} template "{cascade_policy.templateKey}"')
BoxMetadataCascadePolicy metadataCascadePolicy = await client.MetadataCascadePolicyManager
.CreateCascadePolicyAsync("22222", "enterprise_11111", "templateKey");
var folderID = '22222';
client.metadata.createCascadePolicy('enterprise', 'testTemplate', folderID)
.then(cascadePolicy => {
/* cascadePolicy -> {
id: '84113349-794d-445c-b93c-d8481b223434',
type: 'metadata_cascade_policy',
owner_enterprise: {
type: 'enterprise',
id: '11111'
},
parent: {
type: 'folder',
id: '22222'
},
scope: 'enterprise_11111',
templateKey: 'testTemplate'
}
*/
});
{
"id": "6fd4ff89-8fc1-42cf-8b29-1890dedd26d7",
"type": "metadata_cascade_policy",
"owner_enterprise": {
"id": "690678",
"type": "enterprise"
},
"parent": {
"id": "1234567",
"type": "folder"
},
"scope": "enterprise_123456",
"templateKey": "productInfo"
}