2025年4月30日水曜日

Google Classroom API でcourseWorkの一覧(title, id)を取得したい


Classroom API で課題の読み書きをする際には courseWorkId が必要なため

その一覧を取得するコードを書きました


ここでいう「CourseWork」 は クラス > 授業 です




下記 Code.gs の courseId を自身の環境に合わせて書き換えて

listCourseWork() を実行すると

指定したクラス(courseId) で公開されている 授業(courseWork) の一覧を取得できます


Code.gs
function listCourseWork() {
const courseId = '699141862609'; // クラスIDを指定

const courseWorkList = Classroom.Courses.CourseWork.list(courseId);

if (!courseWorkList.courseWork || courseWorkList.courseWork.length === 0) {
Logger.log('このクラスには課題がありません。');
return;
}

courseWorkList.courseWork.forEach(work => {
Logger.log(`タイトル: ${work.title}, ID: ${work.id}`);
});
}



Tips


下書きの授業も取得したい場合
function listAllCourseWork() {
const courseId = '699141862609';

const courseWorkList = Classroom.Courses.CourseWork.list(courseId, {
courseWorkStates: ['PUBLISHED', 'DRAFT']
});

if (!courseWorkList.courseWork || courseWorkList.courseWork.length === 0) {
Logger.log('このクラスには課題がありません。');
return;
}

courseWorkList.courseWork.forEach(work => {
Logger.log(`タイトル: ${work.title}, ID: ${work.id}, 状態: ${work.state}`);
});
}


授業の状態の種類
  • COURSE_WORK_STATE_UNSPECIFIED
  • PUBLISHED
  • DRAFT
  • DELETED



CourseWorkState