为什么谷歌决定忽略pageSize参数,以及为什么在使用不同的页面大小时,收集到的项目的总体大小有所不同?下面是一个示例:
Appsactivity.Activities.List request = service.activities().list()
.setDriveAncestorId(ancestorId)
.setGroupingStrategy("driveUi")
.setSource("drive.google.com")
.setUserId("me")
.setPageSize(pageSize);
List<Activity> list = new LinkedList<>();
ListActivitiesResponse response = null;
do {
response = request.execute();
List<Activity> fetched = response.getActivities();
System.out.println("page items: " + fetched.size());
list.addAll(fetched);
request.setPageToken(response.getNextPageToken());
} while (request.getPageToken() != null && request.getPageToken().length() > 0);
System.out.println("all items: " + list.size())当我将pageSize设置为100时,我将得到720项(64、71、60、60、76、92、87、74、62、56、18),但是当我将pageSize设置为5时,结果集包含810项。我是漏掉了什么还是API的错误?
编辑
我刚刚用事件时间作为键检查了singleEvents计数。在使用不同的pageSize时,很少有事件被重复,但是事件计数之间仍然存在显着差异。
另一个像google-api-java-client-pagesize这样的问题
发布于 2016-01-27 22:42:38
根据以下链接,它似乎是一个bug:
在某些情况下,结果集可能包含重复( is-paging-broken-in-drive )。
下面的链接包含对页面大小示波器的解释。drive-api-search-results
https://stackoverflow.com/questions/34846688
复制相似问题