フォルダ内のすべての項目に対するメタデータの強制適用
フォルダ内のすべての項目に対するメタデータの強制適用
メタ データカスケードポリシーがすでにフォルダに存在する場合は、メタデータカスケードポリシーのid
を指定してPOST /metadata_cascade_policies/:id/apply
APIエンドポイントを呼び出すことで、フォルダ内のすべての項目にメタデータインスタンスを強制的に適用できます。
cURL
curl -i -X POST "https://api.box.com/2.0/metadata_cascade_policies/21312/apply" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"conflict_resolution": "overwrite"
}'
Node/TypeScript v10
await client.metadataCascadePolicies.applyMetadataCascadePolicy(
cascadePolicyId,
{
conflictResolution:
'overwrite' as ApplyMetadataCascadePolicyRequestBodyConflictResolutionField,
} satisfies ApplyMetadataCascadePolicyRequestBody,
);
Python v10
client.metadata_cascade_policies.apply_metadata_cascade_policy(
cascade_policy_id, ApplyMetadataCascadePolicyConflictResolution.OVERWRITE
)
.NET v10
await client.MetadataCascadePolicies.ApplyMetadataCascadePolicyAsync(metadataCascadePolicyId: cascadePolicyId, requestBody: new ApplyMetadataCascadePolicyRequestBody(conflictResolution: ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.Overwrite));
Swift v10
try await client.metadataCascadePolicies.applyMetadataCascadePolicy(metadataCascadePolicyId: cascadePolicyId, requestBody: ApplyMetadataCascadePolicyRequestBody(conflictResolution: ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.overwrite))
Java v10
client.getMetadataCascadePolicies().applyMetadataCascadePolicy(cascadePolicyId, new ApplyMetadataCascadePolicyRequestBody(ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.OVERWRITE))
Java v4
String cascadePolicyID = "e4392a41-7de5-4232-bdf7-15e0d6bba067";
BoxMetadataCascadePolicy policy = new BoxMetadataCascadePolicy(api, cascadePolicyID);
policy.forceApply("none");
Python v3
from boxsdk.object.metadata_cascade_policy import CascadePolicyConflictResolution
cascade_policy = client.metadata_cascade_policy(policy_id='84113349-794d-445c-b93c-d8481b223434')
cascade_policy.force_apply(CascadePolicyConflictResolution.PRESERVE_EXISTING)
print('Cascade policy was force applied!')
.NET v5
string policyId = "11111";
string conflictResolution = Constants.ConflictResolution.Overwrite
BoxMetadataCascadePolicy newCascadePolicy = client.MetadataCascadePolicyManager
.ForceApplyCascadePolicyAsync(policyId, conflictResolution);
Node v3
var policyID = '84113349-794d-445c-b93c-d8481b223434';
client.metadata.forceApplyCascadePolicy(policyID, client.metadata.cascadeResolution.PRESERVE_EXISTING)
.then(() => {
// application started — no value returned
});
競合解決
このAPIに追加のconflict_resolution
パラメータを渡すことで、フォルダ内のいずれかの項目でテンプレートの既存のインスタンスを扱う方法を定義できます。
conflict_resolution
に値を設定していない場合、デフォルトでは、このAPIによってすべての項目の既存の値が保持されます。値をoverwrite
に設定すると、カスケードポリシーに適用されているテンプレートの値が強制的に適用され、既存の値は上書きされます。