我是一名高中老师,在Google课堂上编写Google Apps脚本。我想创建一个类似于学生成绩视图的电子表格,我的学生可以使用其凭据访问该表格。
我已经成功编写了代码,因此可以通过将学生的ID明确放置在代码中来使用特权运行它。另外,我已经成功编写了代码in Python,在这里我可以显式设置学生访问此(也仅此)信息所需的两个范围。但是,由于我无法明确要求仅提供我想要的2个范围,因此Google Apps Scripts自动范围生成受到了困扰。
这是当我用python编写时的两个作用域:
SCOPES = ['https://www.googleapis.com/auth/classroom.coursework.me.readonly https://www.googleapis.com/auth/classroom.student-submissions.me.readonly']
这是Google Apps脚本自动生成的范围。
5 OAuth Scopes required by the script: https://www.googleapis.com/auth/classroom.courses https://www.googleapis.com/auth/classroom.coursework.students https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.profile.photos https://www.googleapis.com/auth/classroom.rosters
这是我的代码:
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getMyGrades() {
var pageToken;
var studentSubmissionsArray = [];
//Get Student Submissions for the logged in student that is running this app
do {
var optionalArgs = {
'pageToken': pageToken,
'userId' : 'me',
};
var response = Classroom.Courses.CourseWork.StudentSubmissions.list(courseId='7131560586', courseWorkId='-', optionalArgs);
var studentSubmissions = response.studentSubmissions;
if (studentSubmissions && studentSubmissions.length > 0) {
for (i = 0; i < studentSubmissions.length; i++) {
var studentSubmission = studentSubmissions[i];
var courseworkResponse = Classroom.Courses.CourseWork.get(courseId = '7131560586', id = studentSubmission.courseWorkId)
var studentSubmissionArray = [courseworkResponse.title, courseworkResponse.maxPoints];
studentSubmissionArray.push(studentSubmission.assignedGrade, studentSubmission.courseWorkType, studentSubmission.late, studentSubmission.state, studentSubmission.courseWorkId);
studentSubmissionsArray.push(studentSubmissionArray);
}
} else {
studentSubmissionsTable = "No Students Found";
}
pageToken = response.nextPageToken;
} while (pageToken);
studentSubmissionsArray.sort()
var studentSubmissionsTable = "<table border = 1, cellpadding = 8><tr><th>#</th><th>Title</th><th>Max Points</th><th>Assigned Grade</th><th>Type</th><th>late</th><th>State</th><th>Coursework ID</th></tr>"
if (studentSubmissionsArray && studentSubmissionsArray.length > 0) {
for (i = 0; i < studentSubmissionsArray.length; i++) {
c = i + 1;
studentSubmissionArray = studentSubmissionsArray[i];
studentSubmissionsTable = studentSubmissionsTable + '<tr><td>'+c+'</td><td>'+ studentSubmissionArray[0] + '</td><td>' + studentSubmissionArray[1] + '</td><td>' + studentSubmissionArray[2] + '</td><td>' + studentSubmissionArray[3] + '</td><td>' + studentSubmissionArray[4] + '</td><td>' + studentSubmissionArray[5] + '</td><td>' + studentSubmissionArray[6] + '</td></tr>'
}
studentSubmissionsTable = studentSubmissionsTable + '</table>'
}
return studentSubmissionsTable
}
我是一名高中老师,在Google课堂上编写Google Apps脚本。我想创建一个类似于学生成绩视图的电子表格,我的学生可以使用其凭据访问该电子表格。我...
...因为我不能只明确要求我想要的2个范围。