【问题标题】:Google Classroom - List all classesGoogle 课堂 - 列出所有课程
【发布时间】:2021-10-12 08:56:41
【问题描述】:

我有一个函数可以列出我所有的谷歌类,但它只返回 500 个结果,我如何实现分页以生成完整的列表?

   function listCourses() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sh = ss.getSheetByName('Classes');
      var response = Classroom.Courses.list();
      var courses = response.courses;
      var arr=[];//You could put column headers in here
      for (i = 0; i < courses.length; i++) {
        var course = courses[i];
        var ids = course.id;
        var title = course.name;
        var sec = course.section;
        var state = course.courseState;
        var guardian = course.guardiansEnabled;
        arr.push([ids,title,state,guardian]); 
      }
      sh.getRange(2, 1, arr.length, arr[0].length).setValues(arr);   
    }

谢谢

【问题讨论】:

标签: google-apps-script google-sheets google-classroom


【解决方案1】:

在您的情况下,使用pageToken 怎么样?当你的脚本被修改后,变成如下。

修改脚本:

function listCourses() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName('Classes');
  var arr = [];
  var pageToken = "";
  do {
    var response = Classroom.Courses.list({pageToken});
    var courses = response.courses;
    arr = arr.concat(courses.map(({id, name, section, courseState, guardiansEnabled}) => [id, name, section, courseState, guardiansEnabled]));
    pageToken = response.nextPageToken;
  } while (pageToken);
  sh.getRange(2, 1, arr.length, arr[0].length).setValues(arr);
}

参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    相关资源
    最近更新 更多