0

我正在开发一个用于访问 Box 帐户的 android 应用程序。我面临的问题是如何确定用户帐户中的文件夹/文件是只读的(与他/她作为查看者共享),以便可以禁用上传/删除操作。

我目前做的是:

1)获取文件夹中的项目:

BoxCollection itemsCollection = _boxClient.getFoldersManager() .getFolderItems(folderId, folderContentRequest);

    String userMail = ...
    ArrayList<BoxTypedObject> result = null;

2) Determine which one is folder, get it's collaborations, check if it's accessible by the logged-in user, and check whether he is an editor:

    if (itemsCollection != null) {
        result = itemsCollection.getEntries();
        for(BoxTypedObject boxObject : result) {
            if(boxObject instanceof BoxAndroidFolder) {
                BoxAndroidFolder folder = (BoxAndroidFolder)boxObject;
                List<BoxCollaboration> folderCollaborations = _boxClient.getFoldersManager().getFolderCollaborations(folder.getId(), null);
                for(BoxCollaboration collaboration : folderCollaborations) {
                    if( userMail.equalsIgnoreCase(collaboration.getAccessibleBy().getLogin()) &&
                            !BoxCollaborationRole.EDITOR.equalsIgnoreCase(collaboration.getRole()))
                        System.out.println("" + folder.getName() + " is readonly");
                }
            }
        }
    }

那么,是否有一种更简单、更快(请求更少)的方法来使用 android SDK 获取文件夹的该属性?

4

1 回答 1

1

您可以先检查文件夹的所有者(folder.getOwnedBy()),如果是当前用户,则无需检查协作。但是,如果它不是当前用户,则必须检查协作。

于 2013-07-10T20:38:01.353 回答