以下のコードを使用してユーザーのルートフォルダーを取得する簡単な方法のボックスごとの例
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)
{ ....}