function createTasks() {
var startTime= (new Date()).getTime();
Logger.log(startTime);
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SendAssignments");
var courseId = ss.getRange(1, 2).getValue();
var assignmentId = ss.getRange(2, 2).getValue();
var resource = Classroom.Courses.CourseWork.get(courseId, assignmentId);
//Logger.log(resource);
//delete some props
var props = ["courseId","id","alternateLink","creationTime","updateTime","creatorUserId","topicId","assignment"];
for (var p=0;p<props.length;p++){
delete resource[props[p]];
}
var copiedFiles = [];
try{
var materials = resource.materials;
for (var m=0;m<materials.length;m++){
try{
var material = materials[m];
var driveFile = material.driveFile.driveFile.id;
var title = material.driveFile.driveFile.title
delete resource.materials[m].driveFile.driveFile.alternateLink;
delete resource.materials[m].driveFile.driveFile.thumbnailUrl;
delete resource.materials[m].driveFile.driveFile.title;
Logger.log(driveFile);
var newCopy = DriveApp.getFileById(driveFile).makeCopy(title+" Copy");
newCopy.setSharing(DriveApp.Access.DOMAIN, DriveApp.Permission.EDIT);
var newId = newCopy.getId();
copiedFiles.push(newId);
resource.materials[m].driveFile.driveFile.id = newId;
Logger.log(resource.materials[m].driveFile.driveFile.id);
}catch(error){}
}
}catch(error){}
Logger.log(resource);
var newResource = JSON.stringify(resource);
var data = ss.getDataRange().getValues();
for (var i=4;i<data.length;i++){
var status = data[i][2];
if(status==""){
var currTime = (new Date()).getTime();
if(currTime - startTime >= 20000) {
ScriptApp.newTrigger("createAssignments")
.timeBased()
.at(new Date(currTime+30000))
.create();
break;
} else {
var newId = data[i][0];
var userEmail = data[i][1];
//var newClassroom = createServiceAsignment(newResource,newId,userEmail);
var newClassroom = Classroom.Courses.CourseWork.create(resource, newId);
var returned = JSON.parse(newClassroom);
var newAssignmentId = returned.id;
var logStatus = ss.getRange(i+1, 3).setValue('Assignment '+newAssignmentId+' created '+new Date());
}
}
}
//removePermissions
if(copiedFiles != []){
for (var c= 0;c<copiedFiles.length;c++){
var file = copiedFiles[c];
DriveApp.getFileById(file).setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT);
}
}
}