I am newBaby to Google Classroom API and have written code to pull information from Goggle classroom API but it seems only 30 rows are pull and i needed to get all records. I have more than 30 students in few course.
Also have tried for pageTokens and Next Page Token from this forum but the example provided is not enough. Can somebody change my below code and give me correct code in which all records are pulls.
function listdetails() {
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;
var teachers = Classroom.Courses.Teachers.list(courseId).teachers;
// var courseworks = Classroom.Courses.CourseWork.list(courseId).courseWork;
var topics = Classroom.Courses.Topics.list(courseId).topic;
ss.insertSheet(course.name);
ss.getRange("A1").setValue('Course Id')
ss.getRange("B1").setValue('Course Name');
ss.getRange("C1").setValue('Student Id');
ss.getRange("D1").setValue('Student Name');
ss.getRange("E1").setValue('Student Email');
ss.getRange("F1").setValue('Teacher Id')
ss.getRange("G1").setValue('Teacher Name')
ss.getRange("H1").setValue('Course Work Due Date')
ss.getRange("I1").setValue('Course Work Topic Id')
ss.getRange("J1").setValue('Course Work Max Points')
ss.getRange("K1").setValue('Course Work Assignment')
ss.getRange("L1").setValue('Course Work Multiple choice questions')
ss.getRange("M1").setValue('Topic Course Id')
ss.getRange("N1").setValue('Topic Id')
ss.getRange("O1").setValue('Topic Name')
ss.getRange("P1").setValue('Topic Update Time')
ss.getActiveSheet().getRange(1,1,1,16).setFontSize(12).setFontWeight('bold');
ss.setFrozenRows(1);
for( var i = 0; i<students.length; i++)
for(var t = 0; t<teachers.length; t++)
// for(var w = 0; w<courseworks.length; w++)
for(var tp = 0; tp<topics.length; tp++)
{
var student = students[i];
var profile = student.profile;
var sid = profile.id
var fullname = profile.name.fullName;
var email = profile.emailAddress;
var teacher = teachers[t];
var tprofile = teacher.profile;
var tid = tprofile.id;
var tname = tprofile.name.fullName;
// var coursework = courseworks[w];
// var cwduedate = coursework.dueDate;
// var cwtopicid = coursework.topicId;
// var cwmaxpoints = coursework.maxPoints;
// var cwassignment = coursework.assignment;
// var cwmcq = coursework.multipleChoiceQuestion;
var topic = topics[tp];
var topicCid = topic.courseId;
var topicId = topic.topicId;
var topicname = topic.name;
var topicUpdateTime = topic.updateTime;
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 1).setValue(courseId);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 2).setValue(courseName);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 3).setValue(sid);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 4).setValue(fullname);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 5).setValue(email);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(t+2, 6).setValue(tid);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(t+2, 7).setValue(tname);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(tp+2, 13).setValue(topicCid);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(tp+2, 14).setValue(topicId);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(tp+2, 15).setValue(topicname);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(tp+2, 16).setValue(topicUpdateTime);
}
}
}