1

I wrote a script that imports (into Sheets) my student list for each course in Classroom, each course on a different tab. My issue is that for some reason the for-loop will only run 30 times. It seems the issue is that the "students.length" part only recognizes 30. When I set a specific number higher than 30, I get an error code regarding the student profile, as if it didn't find more than 30 students. There are more than 30 students in every course, so I'm baffled. Here is my script:

    function listStudents() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var optionalArgs = {
    pageSize: 0
  }; 

  //var response = Classroom.Courses.list();
  var courses = Classroom.Courses.list(optionalArgs).courses;


 for (var c = 0; c < courses.length; c++) {
      var course = courses[c];
      var courseName = course.name;
      var courseId = course.id;
      var students = Classroom.Courses.Students.list(courseId).students;        

  ss.insertSheet(course.name); 
  ss.getRange("A1").setValue('Last Name');
  ss.getRange("B1").setValue('First Name');
  ss.getRange("C1").setValue('Email');
  ss.getRange("D1").setValue('ID');
  ss.getActiveSheet().getRange(1,1,1,4).setBackground('silver').setFontSize(12).setFontWeight('bold');
  ss.setFrozenRows(1);


  for( var i = 0; i<students.length; i++) {


     var student = students[i]; 
     var profile = student.profile;
     var firstName = profile.name.givenName;
     var lastName = profile.name.familyName;
     var email = profile.emailAddress;

     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 1).setValue(lastName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 2).setValue(firstName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 3).setValue(email);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 4).setValue(email.substring(1,6));

  }
 }
}
  • Possible duplicate of [List more than 30 students in a class in Google Classroom API query](https://stackoverflow.com/questions/49338104/list-more-than-30-students-in-a-class-in-google-classroom-api-query) – Nic Scozzaro Sep 19 '18 at 03:18

0 Answers0