Box Developerドキュメント

BoxWorks 2024でコンテンツとAIの可能性について紹介します。

フォルダ内のすべての項目に対するメタデータの強制適用

ガイド メタデータ メタデータカスケードポリシー フォルダ内のすべての項目に対するメタデータの強制適用

フォルダ内のすべての項目に対するメタデータの強制適用

メタデータカスケードポリシーがすでにフォルダに存在する場合は、メタデータカスケードポリシーの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))
.NET v6
await client.MetadataCascadePolicies.ApplyMetadataCascadePolicyAsync(metadataCascadePolicyId: cascadePolicyId, requestBody: new ApplyMetadataCascadePolicyRequestBody(conflictResolution: ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.Overwrite));
Node v4
await client.metadataCascadePolicies.applyMetadataCascadePolicy(
  cascadePolicyId,
  {
    conflictResolution:
      'overwrite' as ApplyMetadataCascadePolicyRequestBodyConflictResolutionField,
  } satisfies ApplyMetadataCascadePolicyRequestBody,
);

ポリシーのidを取得するには、フォルダに対するすべてのポリシーのリストを取得します。

メタデータカスケード操作は非同期的に開始されます。このAPIコールは、カスケード操作が完了する前に直ちに復帰し、202 Accepted HTTPステータスコードを返します。現時点では、この操作がいつ終了したのかを確認する方法はありません。

競合解決

このAPIに追加のconflict_resolutionパラメータを渡すことで、フォルダ内のいずれかの項目でテンプレートの既存のインスタンスを扱う方法を定義できます。

conflict_resolutionに値を設定していない場合、デフォルトでは、このAPIによってすべての項目の既存の値が保持されます。値をoverwriteに設定すると、カスケードポリシーに適用されているテンプレートの値が強制的に適用され、既存の値は上書きされます。