我知道这是连续两个,但它们是不同的问题,所以我认为最好将它们分开。我在代表学生接受邀请时遇到问题。我是域中的超级管理员,它通过 API 资源管理器工作,但不能通过 Google Apps Script 的课堂高级服务工作。在你问之前,是的,我确实在高级服务菜单和开发者控制台中启用了课堂。
这是代码块:
function invitations() {
var classList = Classroom.Courses.list().courses;
for (i in classList) {
var classId = classList[i].id;
var teacher = Classroom.Courses.Teachers.get(classId, classList[i].ownerId).profile.name.fullName;
if (teacher == 'FULL_NAME_GOES_HERE') { // I had entered my full name here as a string. If testing, you can replace with your own
var title = Classroom.Courses.get(classId).name;
Logger.log('Teacher: %s, Title: %ss',teacher,title);
var list = Classroom.Invitations.list({'courseId':classId}).invitations;
if (list) {
Logger.log('list');
for (k in list) {
var invitation = list[k];
var student = invitation.userId;
var id = invitation.id;
var response = Classroom.Invitations.accept({id:id});
Logger.log('ID: %s',id);
}
}
}
}
}
传递给 Classroom.Invitations.accept 的 id 返回错误“未找到请求的实体”。但是当我在 API 资源管理器中输入相同的 ID 时,它返回 200 - OK。这是授权范围的问题吗?我有权管理课堂花名册,我认为这属于我的范围。