从用户的帐户中删除协作

时间:2015-02-03 15:52:57

标签: box-api

我们有一个用例,我们希望在我们的企业中删除用户的帐户。作为删除过程的一部分,我们希望取消用户拥有但与他人共享的所有文件夹。我能够成功删除用户,但在删除帐户之前我一直试图解开所有文件夹。我尝试了下面的代码,但似乎没有用。这是我正在使用的代码

List<BoxCollaboration> collabs = client.getFoldersManager()
.getFolderCollaborations(entry.getId(),
new BoxDefaultRequestObject());

for (BoxCollaboration collab : collabs) {
    BoxUser collaboratorid = (BoxUser) collab.getAccessibleBy();
    BoxDefaultRequestObject requestObject = new BoxDefaultRequestObject(); 
    requestObject.getRequestExtras().addHeader("As-User", userwhoisgettingremived.getId()); 
    client.getCollaborationsManager().deleteCollaboration(collaboratorid , requestObject);
}

任何人都建议我还能尝试什么。

提前致谢 法案。

2 个答案:

答案 0 :(得分:0)

您不需要使用“As-User”标头,因为您现在不是此用户。所以代码可以是:

for (BoxCollaboration collab : collabs) {
    String collaboratorid = collab.getId();
    client.getCollaborationsManager().deleteCollaboration(collaboratorid , null);
}

答案 1 :(得分:0)

好的我通过添加Collaboration的id而不是与协作关联的用户的id来修复此问题。所以deleteCollaboration代码行需要更改为

client.getCollaborationsManager()。deleteCollaboration(collab.getId(),requestObject);