自分が指導・参加しているクラスの名称とIDを取得するコードを試しました
下記 Code.gs では pageSize で 100 を設定していますが
必ず 100件 返ってくるとは限らないらしいです
ここでは nextPageToken がある限り繰り返しているので
すべてのクラスが取得できるはずです
Code.gs
Reference
Code.gs
function listAllCourses() {
let pageToken = null;
do {
const response = Classroom.Courses.list({
pageSize: 100,
pageToken: pageToken
});
(response.courses || []).forEach(course =>
Logger.log(`名称: ${course.name} (ID: ${course.id})`)
);
pageToken = response.nextPageToken;
} while (pageToken);
}
Tips 1
クラスの状態も取得したい場合
function listAllCoursesWithState() {
let pageToken = null;
do {
const response = Classroom.Courses.list({
pageSize: 100,
pageToken: pageToken
});
(response.courses || []).forEach(course =>
Logger.log(`名称: ${course.name} (ID: ${course.id}), 状態: ${course.courseState}`)
);
pageToken = response.nextPageToken;
} while (pageToken);
}
クラスの状態の種類
- COURSE_STATE_UNSPECIFIED
- ACTIVE
- ARCHIVED
- PROVISIONED
- DECLINED
- SUSPENDED
Tips 2
ACTIVE のクラスだけ取得したい場合
function listActiveCourses() {
let pageToken = null;
do {
const response = Classroom.Courses.list({
pageSize: 100,
pageToken: pageToken,
courseStates: ['ACTIVE'] // ← ACTIVE だけ指定
});
(response.courses || []).forEach(course =>
Logger.log(`名称: ${course.name} (ID: ${course.id}), 状態: ${course.courseState}`)
);
pageToken = response.nextPageToken;
} while (pageToken);
}
Reference
Method: courses.list
CourseState