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

2025年4月30日水曜日

Google Classroom API で特定の課題の提出物一覧を取得したい



Classroom の画面上で確認できる一覧画面は

授業 > 対象の課題をクリック > 手順を表示 > 生徒の提出物


これを API で取得してみます


提出物一覧を取得するために必要な情報



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

listStudentSubmissions() を実行すると

Logger.log(submission) に内部的に持っている様々な情報が出力されて

その中から「提出物ID」や「学生ID」などを抽出できます


Code.gs
function listStudentSubmissions() {
const courseId = "699141862609"; // あなたのクラスID
const courseWorkId = "767848967890"; // あなたの課題ID

try {
const submissions = Classroom.Courses.CourseWork.StudentSubmissions.list(courseId, courseWorkId);
const submissionsList = submissions.studentSubmissions;

if (!submissionsList || submissionsList.length === 0) {
Logger.log('提出物が見つかりません。');
return;
}

submissionsList.forEach(submission => {
Logger.log(submission);
Logger.log(`提出物ID: ${submission.id}`);
Logger.log(`学生ID: ${submission.userId}`);
Logger.log(`- 状態: ${submission.state}`); // NEW / TURNED_IN / RETURNED など
Logger.log(`- 提出日時: ${submission.updateTime}`);
Logger.log(`- スコア: ${submission.assignedGrade !== undefined ? submission.assignedGrade : '未採点'}`);
Logger.log('-----------------------------');
});

} catch (e) {
Logger.log('生徒提出物取得失敗: ' + e.message);
}
}



Reference

Method: courses.courseWork.studentSubmissions.list



Latest post

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

自分が指導・参加しているクラスの名称とIDを取得するコードを試しました 下記 Code.gs では pageSize で 100 を設定していますが 必ず 100件 返ってくるとは限らないらしいです https://developers.google.com/workspace/...