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

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

指定したメタデータテンプレートを指定したフォルダに適用し、そのフォルダ内のすべてのファイルに自動的にカスケードする新しいメタデータカスケードポリシーを作成します。

ポリシーを適用するには、まず、ポリシーの適用先となるフォルダにメタデータインスタンスを適用する必要があります。

リクエスト

Bearer [ACCESS_TOKEN]
application/json

リクエスト本文

string本文内必須
1234567

ポリシーを適用するフォルダのID。このフォルダには、ターゲットメタデータテンプレートのインスタンスがすでに適用されている必要があります。

string本文内必須
enterprise

ターゲットメタデータテンプレートのスコープ。このテンプレートでは、ターゲットフォルダにすでにインスタンスが適用されている必要があります。

次の値のいずれか1つ: global,enterprise

string本文内必須
productInfo

ターゲットメタデータテンプレートのキー。このテンプレートでは、ターゲットフォルダにすでにインスタンスが適用されている必要があります。

多くの場合、テンプレートキーはその表示名から自動的に派生します。たとえば、Contract Templateの場合はcontractTemplateとなります。場合によっては、テンプレートの作成者が独自のテンプレートキーを指定することもあります。

テンプレートのキーを調べるには、会社のテンプレートのリストを取得するか、ファイルまたはフォルダ上のすべてのインスタンスを取得してください。

レスポンス

新しいメタデータカスケードポリシーを返します

パラメータのいずれかが有効な形式でない場合はエラーを返します。

  • bad_request - scopetemplateKey、またはfolder_idが有効な形式ではありません。

制限されたフォルダ (IDが0のルートフォルダなど) にポリシーを適用しようとした場合にエラーを返します。

  • forbidden - フォルダIDが有効で、ユーザーはこのフォルダにアクセスできますが、ポリシーをこのフォルダに割り当てられませんでした。

テンプレートまたはフォルダが見つからないか、ユーザーがフォルダまたはテンプレートにアクセスできない場合はエラーを返します。

  • instance_tuple_not_found - テンプレートが見つからないか、ユーザーがテンプレートにアクセスできません。
  • not_found - フォルダが見つからないか、ユーザーがフォルダにアクセスできない場合に返されます。
application/json競合エラー

このフォルダとテンプレートのポリシーがすでに設定されている場合はエラーを返します。

  • tuple_already_exists - このfolder_idscope、およびtemplateKeyの組み合わせのカスケードポリシーがすでに存在する場合に返されます。

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

post
メタデータカスケードポリシーを作成
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
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"
     }'
.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'
		}
		*/
	});

レスポンスの例

{
  "type": "error",
  "code": "item_name_invalid",
  "context_info": {
    "conflicts": [
      {
        "id": 12345,
        "etag": 1,
        "type": "file",
        "sequence_id": 3,
        "name": "Contract.pdf",
        "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
        "file_version": {
          "id": 12345,
          "type": "file_version",
          "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
        }
      }
    ],
    "message": "Something went wrong."
  },
  "help_url": "http://developers.box.com/docs/#errors",
  "message": "Method Not Allowed",
  "request_id": "abcdef123456",
  "status": 400
}