リテンションポリシーを項目に割り当てます。
ポリシーを割り当てる項目
"6564564"
ポリシーを割り当てる項目のID。type
がenterprise
に設定されている場合は、null
に設定するか省略します。
"metadata_template"
ポリシーを割り当てる項目のタイプ。
次の値のいずれか1つ: enterprise
,folder
,metadata_template
assign_to
のタイプがmetadata_template
の場合は、必要に応じてfilter_fields
パラメータを追加します。このパラメータには、フィールドエントリと値エントリを含むオブジェクトの配列が必要になります。現在、field
およびvalue
のオブジェクトは1つだけサポートされています。
"a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4"
メタデータ属性キーID。
"0c27b756-0p87-4fe0-a43a-59fb661ccc4e"
メタデータ属性フィールドID。値については、列挙型とmultiselect型のみがサポートされています。
"173463"
割り当てるリテンションポリシーのID
"upload_date"
リテンションポリシー割り当ての開始日。
assigned_to
のタイプがmetadata_template
の場合、このフィールドには、日付フィールドのメタデータ属性キーIDを指定できます。
新しいリテンションポリシー割り当てオブジェクトを返します。
企業にリテンションポリシーを割り当てている最中にid
が指定された場合は、エラーを返します。
start_date_field
が存在するものの、assign_to.type
がmetadata_template
でない場合は 、エラーを返します。
start_date_field
が存在するものの、assign_to.id
で指定されたものとは異なるメタデータテンプレートに属している場合は、エラーを返します。
start_date_field
が存在するものの、retention_policy
のretention_length
が「indefinite」である場合は、エラーを返します。
start_date_field
が存在するものの、有効なメタデータの日付フィールドに解決できない場合は、エラーを返します。
指定したpolicy_id
を持つリテンションポリシーが存在しない場合は、エラーを返します。
期間が同じであるか、それよりも長いリテンションポリシーがこの項目にすでに割り当てられている場合は、エラーを返します。
予期しないクライアントエラー。
curl -i -X POST "https://api.box.com/2.0/retention_policy_assignments" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"policy_id": "173463",
"assign_to": {
"type": "folder",
"id": "6564564"
}
}'
await client.retentionPolicyAssignments.createRetentionPolicyAssignment({
policyId: retentionPolicy.id,
assignTo: {
id: folder.id,
type: 'folder' as CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField,
} satisfies CreateRetentionPolicyAssignmentRequestBodyAssignToField,
} satisfies CreateRetentionPolicyAssignmentRequestBody);
client.retention_policy_assignments.create_retention_policy_assignment(
retention_policy.id,
CreateRetentionPolicyAssignmentAssignTo(
id=folder.id, type=CreateRetentionPolicyAssignmentAssignToTypeField.FOLDER.value
),
)
await client.RetentionPolicyAssignments.CreateRetentionPolicyAssignmentAsync(requestBody: new CreateRetentionPolicyAssignmentRequestBody(policyId: retentionPolicy.Id, assignTo: new CreateRetentionPolicyAssignmentRequestBodyAssignToField(type: CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField.Folder) { Id = folder.Id }));
// Assign the policy to the entire enterprise
BoxRetentionPolicy policy = new BoxRetentionPolicy(api, policyID);
policy.assignToEnterprise();
// Assign the policy to a single folder
BoxFolder folder = new BoxFolder(api, folderID);
policy.assignTo(folderID);
// Assign the policy to all items with metadata template
String metadataTemplateID = "f0dce190-8106-43ca-9d67-7dce9b10a55e";
policy.assignToMetadataTemplate(metadataTemplateID);
// You can also pass an optional `startDateField` parameter containing the ID of the metadata template's `date` field
String dateFieldID = "fb523725-04b1-4502-b871-eac305274533";
policy.assignToMetadataTemplate(metadataTemplateID, dateFieldID);
folder = client.folder(folder_id='1111')
assignment = client.retention_policy(retention_id='12345').assign(folder)
print(f'Assignment ID is {assignment.id} and it is assigned by {assignment.assigned_by.name}')
var assignmentParams = new BoxRetentionPolicyAssignmentRequest()
{
PolicyId = "11111",
AssignTo = new BoxRequestEntity()
{
Type = BoxType.folder,
Id = "22222"
}
};
BoxRetentionPolicyAssignment assignment = await client.RetentionPoliciesManager
.CreateRetentionPolicyAssignmentAsync(assignmentParams);
client.retentionPolicies
.assign('11111', 'folder', '22222')
.then((assignment) => {
/* assignment -> {
type: 'retention_policy_assignment',
id: '12345',
retention_policy:
{ type: 'retention_policy',
id: '11111',
policy_name: 'Tax Documents' },
assigned_to: { type: 'folder', id: '22222' },
assigned_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' },
assigned_at: '2015-07-20T14:28:09-07:00' }
*/
});
client.retentionPolicy.assign(policyId: "12345", assignedContentId: "1111", assignContentType: .folder) { result in
guard case let .success(retentionPolicyAssignment) = result else {
print("Error creating retention policy assignment")
return
}
print("Retention policy assignment: \(retentionPolicyAssignment.id) was created")
}
{
"id": "11446498",
"type": "retention_policy_assignment",
"assigned_at": "2012-12-12T10:53:43-08:00",
"assigned_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"assigned_to": {
"id": "a983f69f-e85f-4ph4-9f46-4afdf9c1af65",
"type": "metadata_template"
},
"filter_fields": [
{
"field": "a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4",
"value": "0c27b756-0p87-4fe0-a43a-59fb661ccc4e"
}
],
"retention_policy": {
"id": "12345",
"type": "retention_policy",
"disposition_action": "permanently_delete",
"policy_name": "Some Policy Name",
"retention_length": "365"
},
"start_date_field": "upload_date"
}