function main() {
const courses = getCoursesFromSpreadsheet();
const responses = courses.map((course, ind) => {
const resource = createCourseResource(course);
const response = Classroom.Courses.create(resource);
course[3] = response.alternateLink;
course[4] = response.enrollmentCode;
return course;
});
return writeCoursesToSpreadsheet(responses);
}
function writeCoursesToSpreadsheet(courses) {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName('CourseSingleSheet');
const range = sheet.getRange(
2,
1,
sheet.getLastRow() - 1,
sheet.getLastColumn()
);
range.setValues(courses);
return true;
}
function getCoursesFromSpreadsheet() {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName('CourseSingleSheet');
const data = sheet.getDataRange().getValues();
data.shift();
return data.filter(row => row !== null);
}
function createCourseResource(course) {
const [courseName, instructorName, instructorEmail] = course;
const resource = Classroom.newCourse();
resource.name = courseName;
resource.ownerId = 'me';
resource.description = instructorName;
return resource;
}