有什么方法可以在不知道其 ID 的情况下获取框中的所有文件和文件夹?另外,如果我不知道协作 ID,如何获取所有协作对象?
问问题
8828 次
4 回答
10
您可以通过指定文件夹 id = 0 来获取根文件夹和文件。因此,还可以获取更多文件夹或文件。
于 2013-05-15T13:01:16.783 回答
2
您可以在您知道的文件夹 ID 上使用Get Folder Items来检索它包含的文件夹和文件的 ID。正如 Shanky 所说,使用 0 从根文件夹开始。
获取协作将显示文件夹上的协作。您不需要任何有关协作的信息,只需要文件夹 ID。
于 2013-05-16T05:19:26.270 回答
0
与专门构建在路径访问上的系统不同,Box 为每个文件夹和文件提供了一个持久的 ID。这有很多优点。其中最重要的是您可以重命名或移动文件,并且永远不需要更改。这也意味着您可以保留 ID,将它们与您自己系统中的其他实体相关联,并且仍然能够返回到相同的文件或文件夹。当然,假设您仍然可以访问它。当然,权限也可以改变。
您可以通过调用 GET /collaborations 获取用户的所有协作,或通过调用 GET /folder/ID/collaborations 获取文件夹上的所有协作
于 2013-05-15T14:52:12.867 回答
0
调用 listFilesInBoxFolders("0") ---> 这将解析从根目录开始的所有文件和文件夹
public void listFilesInBoxFolders(String folderId) {
try {
// get a list of songs
BoxApiFolder folderApi = new BoxApiFolder(mSession);
BoxListItems items = folderApi.getItemsRequest(folderId).send();
JSONObject object = new JSONObject(items.toJson());
LogUtils.log(TAG, "Object " + object.toString());
JSONArray array = object.getJSONArray("entries");
for (int i = 0; i < array.length(); i++) {
JSONObject object1 = array.getJSONObject(i);
String type = object1.getString("type");
String id = object1.getString("id");
String name = object1.getString("name");
if (type.equals("folder")) {
listFilesInBoxFolders(id);
} else if (type.equals("file")) {
// Supported Media file types
if (name.contains("mp3") || name.contains("m4a") || name.contains("flac")) {
musicItems.add(new BoxMusicItem(id, name));
}
}
}
LogUtils.log(TAG, "array " + array.toString());
} catch (BoxException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
LogUtils.log(TAG, "Json Error");
}
// For testing to make sure i have all files in box
printFilesInBox();
}
于 2016-09-12T01:29:45.473 回答