0

当您查询所有任务的任务对象时,每个“页面”将包含结果的 maxResults 数(默认 maxResults=100)。如果您在特定任务列表中有超过 100 个任务或想要使用分页,则需要使用 pageToken 来请求任务的后续“页面”。

这可以通过运行 list()(TasksCollection 类)来完成,然后检索 nextPageToken()。随后运行 list() 并传入 nextPageToken,作为可选参数将为您提供第二页结果。

  var tasksObj = Tasks.Tasks.list(MytaskListId, {maxResults : 20});
  var nextPageToken = tasksObj.getNextPageToken();
  tasksObj = Tasks.Tasks.list(MytaskListId, {maxResults : 20, pageToken: nextPageToken});
  var tasks = tasksObj.getItems();
  //"tasks" will hold the Tasks 20 to 40.

但是,我对为什么文档显示 setNextPageToken 方法感到困惑 https://developers.google.com/apps-script/class_tasks_v1_schema_tasks#setNextPageToken 这可以用来做什么?下面的代码不起作用,因为后续调用没有 nextPageToken 参数的 list() 将返回第一个集合(即项目 1 到 20)。

  var tasksObj = Tasks.Tasks.list(MytaskListId, {maxResults : 20});
  var nextPageToken = tasksObj.getNextPageToken();
  tasksObj.setNextPageToken(nextPageToken);
  tasksObj = Tasks.Tasks.list(MytaskListId, {maxResults : 20});
  var tasks = tasksObj.getItems();
  //"tasks" will hold the Tasks 1 to 20.

我错过了什么...... setNextPageToken() 方法的目的是什么?谢谢。

4

1 回答 1

0

我相信这是一个文档问题。有两个任务类,一个公开行为,另一个只公开模式/属性。

https://developers.google.com/apps-script/class_tasks

https://developers.google.com/apps-script/class_tasks_v1_schema_tasks

使用第一个并忽略第二个。我们会尽快清理这个。

于 2012-11-20T18:30:18.313 回答