メタデータカスケードポリシーの作成

メタデータカスケードポリシーの作成

メタデータカスケードポリシーは現在ベータ版であり、構文が今後変更される可能性があります。

メタデータテンプレートがフォルダに適用されたら、メタデータカスケードポリシーを作成できます。それには、ポリシーの適用先となるフォルダのfolder_idと、メタデータテンプレートのscopeおよびtemplateKeyを指定して、POST /metadata_cascade_policies APIエンドポイントを呼び出します。

cURL
curl -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"
     }'
.NET
BoxMetadataCascadePolicy metadataCascadePolicy = await client.MetadataCascadePolicyManager
    .CreateCascadePolicyAsync("22222", "enterprise_11111", "templateKey");
Python
folder = client.folder(folder_id='22222')
metadata_template = client.metadata_template('enterprise', 'securityClassiciation')

cascade_policy = folder.cascade_metadata(metadata_template)
print('Folder {0} has a metadata cascade policy for {1} template "{2}"'.format(
    cascade_policy.parent.id,
    cascade_policy.scope,
    cascade_policy.templateKey,
))
Node
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'
		}
		*/
	});

テンプレートのscopetemplateKeyを取得するには、すべてのメタデータテンプレートのリストを取得するか、ファイルのすべてのインスタンスのリストを取得します。

カスケードポリシーを作成できるのは、指定したscopetemplateKeyのフォルダにメタデータインスタンスがすでに適用されている場合のみです。