コラボレーションを更新します。項目の所有者を変更したり、コラボレーションへの招待を承認したりする場合に使用します。
1234
コラボレーションのID
true
招待されたユーザーが招待に関連付けられているフォルダへの親パス全体を見ることができるかどうかを示します。招待されたユーザー には親フォルダ内の権限が付与されないため、自身が参加しているコラボレーションに関係しないコンテンツを閲覧することはできません。
これにより、招待されたユーザーの [すべてのファイル] ページの読み込みに必要な時間が有意に増加することに注意してください。can_view_path
が有効になっているコラボレーションの数を1ユーザーあたり1,000に制限することをお勧めします。
can_view_path
がtrue
に設定されているコラボレータを招待できるのは、所有者と共同所有者のみです。
can_view_path
は、フォルダのコラボレーションのみに使用できます。
"2019-08-29T23:59:00-07:00"
コラボレーションの有効期限を更新します。この日付になると、項目から自動的にコラボレーションが削除されます。
この機能が動作するのは、管理コンソールの [Enterprise設定] で [招待したコラボレータを自動的に削除する] の [フォルダの所有者に有効期限の延長を許可する] の設定が有効になっている場合のみです。この設定が 有効になっていない場合、コラボレーションに有効期限を設定できず、このフィールドの値によってエラーが返されます。
さらに、コラボレーションに有効期限を指定できるのは、[招待したコラボレータを自動的に削除する] の設定を有効にした後に作成した場合のみです。
"editor"
付与されるアクセスレベル。
次の値のいずれか1つ: editor
,viewer
,previewer
,uploader
,previewer uploader
,viewer uploader
,co-owner
,owner
"accepted"
コラボレーション招待のステータスとして、保留中 (pending
)、承認、拒否のいずれかを設定します。
次の値のいずれか1つ: pending
,accepted
,rejected
所有者が変わっていない限り、更新されたコラボレーションオブジェクトを返します。
ロールがowner
に変更されるとコラボレーションが削除されて、新しいコラボレーションが作成されます。古いコラボレーションのowner
は、新しいコラボレーションのco-owner
になります。
認証済みユーザーにコラボレーションを更新するための適切な権限がない場合にエラーを返します。
さらに、このエラーは、企業の管理ダッシュボードで [招待したコラボレータを自動的に削除する] の [フォルダの所有者に有効期限の延長を許可する] の設定が有効になっていないコラボレーションのexpires_at
フィールドを更新しようとすると発生する可能性があります。
予期しないクライアントエラー。
curl -i -X PUT "https://api.box.com/2.0/collaborations/1234" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"role": "viewer"
}'
await client.userCollaborations.updateCollaborationById(collaborationId, {
role: 'viewer' as UpdateCollaborationByIdRequestBodyRoleField,
} satisfies UpdateCollaborationByIdRequestBody);
client.user_collaborations.update_collaboration_by_id(
collaboration_id, UpdateCollaborationByIdRole.VIEWER
)
await client.UserCollaborations.UpdateCollaborationByIdAsync(collaborationId: collaborationId, requestBody: new UpdateCollaborationByIdRequestBody(role: UpdateCollaborationByIdRequestBodyRoleField.Viewer));
// Accept all pending collaborations
Collection<BoxCollaboration.Info> pendingCollaborations = BoxCollaboration.getPendingCollaborations(api);
for (BoxCollaboration.Info collabInfo : pendingCollaborations) {
collabInfo.setStatus(BoxCollaboration.Status.ACCEPTED);
collabInfo.getResource().updateInfo(collabInfo);
}
from boxsdk.object.collaboration import CollaborationRole
collaboration_update = {'role': CollaborationRole.EDITOR, 'can_view_path': False}
collaboration = client.collaboration(collab_id='12345')
updated_collaboration = collaboration.update_info(data=collaboration_update)
BoxCollaborationRequest requestParams = new BoxCollaborationRequest()
{
Id = "12345",
Role = "viewer"
};
BoxCollaboration collab = await client.CollaborationsManager.EditCollaborationAsync(requestParams);
client.collaborations.update('11111', {role: client.collaborationRoles.PREVIEWER})
.then(collaboration => {
/* collaboration -> {
type: 'collaboration',
id: '11111',
created_by:
{ type: 'user',
id: '22222',
name: 'Inviting User',
login: 'inviter@example.com' },
created_at: '2015-11-03T18:36:37-08:00',
modified_at: '2016-11-16T21:01:19-08:00',
expires_at: null,
status: 'accepted',
accessible_by:
{ type: 'user',
id: '33333',
name: 'Collaborated User',
login: 'collaborator@example.com' },
role: 'previewer',
acknowledged_at: '2015-11-03T18:36:37-08:00',
item:
{ type: 'folder',
id: '44444',
sequence_id: '1',
etag: '1',
name: 'Collaborated Folder' } }
*/
});
client.collaborations.update(collaborationId: "12345", role: .viewer) { (result: Result<Collaboration, BoxSDKError>) in
guard case let .success(collaboration) = result else {
print("Error updating collaboration")
return
}
print("Updated collaboration")
}