有没有办法在不知道他们的身份证的情况下获取所有文件和文件夹?另外,如果我不知道协作ID,如何获取所有协作对象?
答案 0 :(得分:9)
您可以通过指定文件夹ID = 0来获取根文件夹和文件。 通过此结果,还可以获取更多文件夹或文件。
答案 1 :(得分:1)
您可以对您知道的文件夹ID使用Get Folder Items来检索其中包含的文件夹和文件的ID。正如Shanky所说,使用0从根文件夹开始。
Get Collaborations将显示文件夹上的协作。您不需要任何有关协作的信息,只需要文件夹ID。
答案 2 :(得分:0)
与专门针对路径访问构建的系统不同,Box为每个文件夹和文件提供持久的ID。这有很多优点。其中一个重要的是你可以重命名或移动一个文件,并且从不需要改变它。它还意味着您可以持久保存ID,将它们与您自己系统中的其他实体相关联,并且仍然可以返回到同一文件或文件夹。当然假设您仍然可以访问它。权限也可以改变。
通过调用GET /文件夹/ ID /协作来调用GET /协作或文件夹上的所有协作,您可以获得用户的所有协作
答案 3 :(得分:0)
调用listFilesInBoxFolders(" 0")--->这将解析从root
开始的所有文件和文件夹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();
}