【问题标题】:What is the proper way to check if a file/folder in a Box account is read-only using the Box Android library (apiV2)?使用 Box Android 库 (apiV2) 检查 Box 帐户中的文件/文件夹是否为只读的正确方法是什么?
【发布时间】:2013-07-10 12:54:24
【问题描述】:

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

我目前做的是:

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

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

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

2) 确定哪个是文件夹,获取它的协作,检查登录用户是否可以访问它,并检查他是否是编辑器:

 if (itemsCollection != null) {
        结果 = itemsCollection.getEntries();
        for(BoxTypedObject boxObject : 结果) {
            if(boxObject instanceof BoxAndroidFolder) {
                BoxAndroidFolder 文件夹 = (BoxAndroidFolder)boxObject;
                List folderCollaborations = _boxClient.getFoldersManager().getFolderCollaborations(folder.getId(), null);
                for(BoxCollaboration 协作 : folderCollaborations) {
                    if(userMail.equalsIgnoreCase(collaboration.getAccessibleBy().getLogin()) &&
                            !BoxCollaborationRole.EDITOR.equalsIgnoreCase(collaboration.getRole()))
                        System.out.println("" + folder.getName() + " 是只读的");
                }
            }
        }
    }

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

【问题讨论】:

    标签: java android box-api


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-17
      • 2015-02-21
      • 2020-05-22
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      相关资源
      最近更新 更多