我查看有关此文档,并为IDriveItemCollectionPage的工作方式而苦苦挣扎。
我目前正在执行以下操作,尝试列出使用Java SDK给出其驱动器ID的站点根驱动器的所有子驱动器项
public ArrayList<DriveItem> getDriveItemChildrenFoldersOfRootDrive(String rootDriveId){
//gets the children folder driveI
IDriveItemCollectionPage driveChildren= mGraphServiceClient.drives().byId(rootDriveId).root().children().buildRequest().get();
ArrayList<DriveItem> results = new ArrayList<DriveItem>();
results.addAll(driveChildren.getCurrentPage());
return results;
}
我知道如果getNextPage返回null,那么就没有更多结果了,但是如果有一个页面,您是否必须进行另一个api调用才能获取下一页?如何使用上述设置进行操作?
最佳答案
同意布拉德。我在自己的身边进行了测试,并获得了成功。这是我的代码
public static void main(String[] args) {
IGraphServiceClient client = GetClient();
IDriveCollectionPage page = client.drives().buildRequest().get();
List<Drive> drives = page.getCurrentPage();
while(page.getNextPage() != null){
page = page.getNextPage().buildRequest().get();
drives.addAll(page.getCurrentPage());
}
System.out.println(drives.size());
}