これが2つ連続していることはわかっていますが、それらは別の問題であるため、分割するのが最善だと思いました. 学生に代わって招待を受け入れる際に問題が発生します。私はドメイン内のスーパー管理者であり、API Explorer を通じて機能しますが、Google Apps Script の Advanced Service for Classroom を通じては機能しません。ご質問の前に、はい、Advanced Services メニューと Developer's Console の両方で Classroom を有効にしました。
コードのブロックは次のとおりです。
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 Explorer に同じ ID を入力すると、200 - OK が返されます。これは Authorization スコープの問題ですか? 私は Classroom 名簿を管理する権限を持っていますが、これに該当すると思います。