App Engine Java API pageSize

时间:2016-01-18 03:05:54

标签: java google-app-engine google-drive-api google-api-java-client

为什么google决定忽略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),但是当我设置{{1结果集包含810个项目。我错过了什么,或者它是一个API错误?

修改

我刚刚使用事件时间作为键检查了singleEvents计数。很少有事件被重复,但是当使用不同的pageSize时,事件计数之间的显着差异仍然存在。

google-api-java-client-pagesize

这样的另一个问题

1 个答案:

答案 0 :(得分:1)

根据以下链接,它似乎是错误

在某些情况下,结果集可能包含重复 is-paging-broken-in-drive

以下链接包含页面大小 oscilation 的说明。 drive-api-search-results