I have the script below to pull out information about google classrooms. I seem to be bashing my head against a brick wall - how can I write the course.data into the google sheet I am creating? Many thanks
/**
* Lists 100000 course names and ids.
*/
function listCourses() {
var rows = 100000
var columns = 5
var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
var spreadsheet = "ScriptClassroomCodes "+date
var oldfiles = DriveApp.getFilesByName(spreadsheet);
while (oldfiles.hasNext()) {
var oldfile = oldfiles.next();
oldfile.setTrashed(true);
}
var optionalArgs = {
pageSize: rows
};
SpreadsheetApp.create(spreadsheet, rows, columns)
var currentfile = DriveApp.getFilesByName(spreadsheet);
while (currentfile.hasNext()) {
var file = currentfile.next();
var sheetid = file.getId();
}
var sheet = SpreadsheetApp.openById(sheetid)
var response = Classroom.Courses.list(optionalArgs);
var courses = response.courses;
if (courses && courses.length > 0) {
for (i = 0; i < courses.length; i++) {
var course = courses[i];
Logger.log(course.name, course.alternateLink, course.enrollmentCode, course.courseState);
}
} else {
Logger.log('No courses found.');
}
}
I believe your goal as follows.
course.name, course.alternateLink, course.enrollmentCode, course.courseState
of each courses[i]
to the created Spreadsheet by modifying your Google Apps Script.For this, how about this answer?
SpreadsheetApp.create
returns the Spreadsheet object. So you can use this.When above points are reflected to your script, it becomes as follows.
Please modify your script as follows.
From: SpreadsheetApp.create(spreadsheet, rows, columns) var currentfile = DriveApp.getFilesByName(spreadsheet); while (currentfile.hasNext()) { var file = currentfile.next(); var sheetid = file.getId(); } var sheet = SpreadsheetApp.openById(sheetid) var response = Classroom.Courses.list(optionalArgs); var courses = response.courses; if (courses && courses.length > 0) { for (i = 0; i < courses.length; i++) { var course = courses[i]; Logger.log(course.name, course.alternateLink, course.enrollmentCode, course.courseState); } } else { Logger.log('No courses found.'); }
To:
var spreadsheet = SpreadsheetApp.create(spreadsheet, rows, columns); // Modified var sheet = spreadsheet.getSheets()[0]; // Added var response = Classroom.Courses.list(optionalArgs); var courses = response.courses; if (courses && courses.length > 0) { var values = []; // Added for (i = 0; i < courses.length; i++) { var course = courses[i]; values.push([course.name, course.alternateLink, course.enrollmentCode, course.courseState]); // Added } sheet.getRange(1, 1, values.length, values[0].length).setValues(values); // Added } else { Logger.log('No courses found.'); }
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.