在Tasks.Tasklists.list中只返回了20个项目

时间:2018-04-21 09:37:28

标签: google-apps-script

以下谷歌应用脚​​本返回20.我有超过20个任务列表

 tasklist = Tasks.Tasklists.list().getItems();
 l = tasklist.length;
 Logger.log(l);

退回商品的数量是否有限制?

另一个尝试:使用maxresults on 100再次返回20个列表

function listTaskLists() {
  var optionalArgs = {
    maxResults: 100
  };
  var response = Tasks.Tasklists.list(optionalArgs);
  var taskLists = response.items;
  if (taskLists && taskLists.length > 0) {
    Logger.log('Task lists:');
    for (var i = 0; i < taskLists.length; i++) {
      var taskList = taskLists[i];
      Logger.log('%s (%s)', taskList.title, taskList.id);
    }
  } else {
    Logger.log('No task lists found.');
  }
}

2 个答案:

答案 0 :(得分:0)

您是否尝试过设置maxResults选项?

function test() {
  var optionalArgs = {
    maxResults: 25
  };  
  var tasklist = Tasks.Tasklists.list().getItems(optionalArgs);
  var l = tasklist.length;
  Logger.log(l);
}

答案 1 :(得分:0)

检索所有任务列表中的所有任务

这可能对你有所帮助。我一直在努力弄清楚页面标记是如何工作的,并且我在35个任务列表中的每一个中创建了10个任务(以编程方式),我终于开始看到迭代超过一个。所以这是一个非常好的方式来完成你的任务我想,我要感谢@tehhowch为我提供了开始,我需要让它运行。

function listTasks() {
  var taskToken;
  var iteration=0;
  var opts={pageToken:taskToken,maxResults:100};
  do{
    iteration++;
    var myLists=Tasks.Tasklists.list(opts)
    if(myLists.items){
      for(var i=0;i<myLists.items.length;i++){
        var item=myLists.items[i];
        Logger.log(item.title + '\n' + item.id + '\n');
        var myTasks=Tasks.Tasks.list(item.id)
        if(myTasks.items){
          for(var j=0;j<myTasks.items.length;j++){
            Logger.log(myTasks.items[j].title + '\n');
          }
        }else{
          Logger.log('No tasks for ' + item.title + '\n');
        }
      }
    }
    Logger.log('Get Page Token ' + 'Iterations: ' + iteration);
    opts.pageToken=myLists.nextPageToken;
  }while(opts.pageToken);
  Logger.log('End of Function');
}