フォルダにメタデータカスケードポリシーを強制適用

post
https://api.box.com/2.0
/metadata_cascade_policies/:metadata_cascade_policy_id/apply

メタデータカスケードポリシーを持つフォルダのメタデータをそのすべての子に強制的に適用します。これは、新しいカスケードポリシーの作成後、そのフォルダ内にある既存のすべてのファイルにカスケードされるメタデータを適用するのに使用できます。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
6fd4ff89-8fc1-42cf-8b29-1890dedd26d7

強制的に適用するカスケードポリシーのID。

リクエスト本文

string本文内必須
"none"

メタデータテンプレートですでにインスタンスが子に適用されているという競合に対処する際の最適な動作を説明します。

  • noneを指定すると、ファイルの既存の値が保持されます。
  • overwriteを指定すると、既存の値を無視してテンプレートの値が強制的に適用されます。

次の値のいずれか1つ: none,overwrite

レスポンス

none

APIコールが成功した場合は空のレスポンスを返します。メタデータのカスケード操作は非同期的に実行されます。

APIコールは、カスケード操作が完了していなくても直ちに復帰します。現時点では、この操作のステータスを確認するためのAPIはありません。

ポリシーが見つからないか、ユーザーがフォルダにアクセスできない場合はエラーを返します。

  • instance_not_found - ポリシーが見つかりませんでした。
  • not_found - フォルダが見つからないか、ユーザーがフォルダにアクセスできない場合に返されます。

予期しないクライアントエラー。

post
フォルダにメタデータカスケードポリシーを強制適用
このドキュメント内で一部の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"
     }'
.NET
string policyId = "11111";
string conflictResolution = Constants.ConflictResolution.Overwrite
BoxMetadataCascadePolicy newCascadePolicy = client.MetadataCascadePolicyManager
    .ForceApplyCascadePolicyAsync(policyId, conflictResolution);
Java
String cascadePolicyID = "e4392a41-7de5-4232-bdf7-15e0d6bba067";
BoxMetadataCascadePolicy policy = new BoxMetadataCascadePolicy(api, cascadePolicyID);
policy.forceApply("none");
Python
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!')
Node
var policyID = '84113349-794d-445c-b93c-d8481b223434';
client.metadata.forceApplyCascadePolicy(policyID, client.metadata.cascadeResolution.PRESERVE_EXISTING)
	.then(() => {
		// application started — no value returned
	});