Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2025年5月1日木曜日

Google Classroom API でクラスの一覧を取得したい


自分が指導・参加しているクラスの名称とIDを取得するコードを試しました


下記 Code.gs では pageSize で 100 を設定していますが

必ず 100件 返ってくるとは限らないらしいです

ここでは nextPageToken がある限り繰り返しているので

すべてのクラスが取得できるはずです




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

Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...