Per Box 示例使用以下代码获取用户根文件夹的简单方法
http://opensource.box.com/box-java-sdk/
BoxAPIConnection api = new BoxAPIConnection("your-developer-token");
BoxFolder rootFolder = BoxFolder.getRootFolder(api);
for (BoxItem.Info itemInfo : rootFolder) {
System.out.format("[%d] %s\n", itemInfo.getID(), itemInfo.getName());
}
但是,如果我需要使用 As-user 访问其他人的信息,我将无法使用 BOX SDK 类(BoxFolder、BoxFile、BoxUser ...),并且只需要直接从 JSON 获取数据,如下所示。如果这样做,我将失去新 SDK 中添加的最新功能。这是最好的方法吗?表现如何?有没有其他可用的方法?
url= new URL("https://api.box.com/2.0/folders/0");
BoxAPIRequest request = new BoxAPIRequest(api,url,"GET");
request.addHeader("As-User", "12345678");
BoxJSONResponse response = (BoxJSONResponse) request.send();
JsonObject responseJSON = JsonObject.readFrom(response.getJSON());
稍后使用 JsonObject / JsonArray 获取文件夹属性。如果我需要文件夹项目,我需要像下面那样循环 JsonArray
JsonArray entries = responseJSON.get("entries").asArray();
for (JsonValue entry : entries)
{ ....}