GASを使ってクラスルームに「質問の作成」をする方法について質問がありましたので、勉強も兼ねて作ってみました。
今回の記事は、私とGPT-4とのやり取りをもとにAIが作成したものです。
テストはしていますが、GASを実行する際は、自己責任で行なってください。
Google ClassroomとGoogle Apps Scriptを活用して授業を効率化する方法
Google Classroomは教育の現場で広く利用されていますが、Google Apps Script(GAS)を組み合わせることで、その利便性をさらに高めることができます。この記事では、GASを使ってClassroom APIにアクセスし、課題の配布やクラスIDの取得などを自動化する方法を紹介します。対象者は、プログラミングに慣れていない先生方です。
Google Classroom APIの基本
Google Classroom APIを使用すると、Google Classroomのデータにプログラムからアクセスし、クラスの管理や課題の配布などを自動化することができます。APIを活用するための第一歩として、Google Cloud Platform(GCP)でAPIを有効にし、OAuth同意画面を設定する必要があります。
記述式の質問を行うコード
function createQuestion() {
var courseId = 'あなたのクラスID'; // 適切なクラスIDに置き換えてください
var courseWork = {
title: '質問タイトル',
description: 'ここに質問の内容を記述します。',
workType: 'SHORT_ANSWER_QUESTION',
state: 'PUBLISHED',
studentCanEditAttachment: true, // 提出後の編集を可能にする
submissionsOpenTo: 'ALL_CLASSMATES', // クラスメイトの返信を可能にする
};
try {
var response = Classroom.Courses.CourseWork.create(courseWork, courseId);
Logger.log(response);
} catch (e) {
Logger.log(e.toString());
}
}
選択式の質問を行うコード
// 質問(選択式)を公開状態で作成します
function createCourseWorkAsMultipleChoiceQuestion() {
const courseId = "あなたのクラスID"; // 適切なクラスIDに置き換えてください
const question = {
title: "質問(選択式)の作成",
description: "スクリプトで質問(選択式)を作成します。ここに質問文を記述します。例: 「今日の授業のめあて(目標)はわかりましたか?」",
state: "PUBLISHED", // 公開状態に設定
maxPoints: 100, // 数値型でポイントを設定
workType: "MULTIPLE_CHOICE_QUESTION",
multipleChoiceQuestion: {
choices: [
"わかりました",
"わかりません",
"どちらともいえません"
]
}
};
const coursework = Classroom.Courses.CourseWork.create(question, courseId);
Logger.log("courseWork created : %s (%s)", coursework.title, coursework.workType);
}
課題を自動で配布するコード
以下のステップで課題を自動配布するスクリプトを設定できます:
- GCPでプロジェクトを設定:APIを有効にし、OAuth同意画面を設定します。
- GASでスクリプトを作成:新しいGASプロジェクトを開き、課題配布のスクリプトを記述します。
- スクリプトを実行:スクリプトを実行して、Google Classroomに課題を配布します。
課題配布の例:
function createAssignment() {
var courseId = 'あなたのクラスID';
var courseWork = {
title: 'テスト送信',
description: 'ここに説明を書きます。',
materials: [
{link: {url: 'https://example.com'}},
],
workType: 'ASSIGNMENT',
state: 'PUBLISHED',
};
Classroom.Courses.CourseWork.create(courseWork, courseId);
}
クラスIDを簡単に取得するコード
クラスIDは、Google Classroomで特定のクラスを指定するために必要です。以下のスクリプトを実行することで、自分がアクセスできる全てのクラスの名前とIDを取得できます:
function listCourses() {
var courses = Classroom.Courses.list();
if (courses.courses.length == 0) {
Logger.log('No courses found.');
} else {
for (var i = 0; i < courses.courses.length; i++) {
var course = courses.courses[i];
Logger.log('%s (%s)', course.name, course.id);
}
}
}
まとめ
Google Apps Scriptを使ってGoogle Classroomの機能を拡張することは、教育の現場での作業効率を大きく向上させることができます。この記事で紹介した方法を活用して、授業の準備や管理をもっとスムーズに進めましょう。
最後まで読んでいただき、ありがとうございました。
PS:日々有益な情報を発信していますので、TwitterのフォローとYoutubeのチャンネル登録をお願いします。この世の先生アカウント全部フォローする勢いでフォローしまくっていますが、副業や投資を進めるアカウントじゃないのでご安心ください。
コメント