ブラウザ上で招待メールを送る方法は Google Classroomに招待メールで参加したい
に書きましたが、今回は Classroom の API を使って生徒を招待する方法について書いていきます
以下の Code.gs で courseId と studentEmails の値を自身の環境に応じて変更して
inviteMultipleStudents() を実行すると、 studentEmails で指定した生徒に招待メールが送信されます
コード内の courseId は数字のみの組み合わせなのですが、これはClassroomの画面上には表示されていない数字で、取得するためにはひと手間必要です
Code.gs
function inviteMultipleStudents() {
const courseId = "1234567890"; // 取得した courseId の数字
const studentEmails = [ // 招待したい生徒のEmail
'student1@example.com',
'student2@example.com'
];
studentEmails.forEach(email => {
const invitation = {
courseId: courseId,
userId: email,
role: 'STUDENT'
};
try {
const result = Classroom.Invitations.create(invitation);
Logger.log(`招待成功 ${email} → Invitation ID: ${result.id}`);
} catch (e) {
Logger.log(`招待失敗 ${email}: ${e.message}`);
}
});
}
実行結果
招待した生徒には、以下のような招待メールが届きます
生徒は「Join class」をクリックするとクラスに参加できるようになります
Tips 1
クラスのURLをそのまま使って招待できないのか?
URLの末尾の文字列は、courseId の数字を base64 でエンコードした値のようなので、以下のようにデコードして数字に戻すことは可能
const courseUrl = "https://classroom.google.com/c/Njk5MTQxODYyNjA5";
const courseIdStr = courseUrl.split('/').pop();
const decodedBytes = Utilities.base64Decode(courseIdStr);
const courseId = Utilities.newBlob(decodedBytes).getDataAsString();
思いついたのでこのデコードする方法も書いてみましたが、基本的に courseId は API で取得する手順を踏むのが公式に示されている手順です
Tips 2
Google API Explorer に API の実行環境があるようです
Google API Explorer > Classroom > Invitations > create
① Request body に招待に必要な値を入力する
② Execute をクリックする
③ 結果が返ってくる

このページでも API を実行できて、Tips 2 と同様に Request body を入力して Execute をクリックすると、実際に指定した生徒に招待メールを送信することができました
Reference
上記①②③の手順で、実際に指定した生徒を招待することができました
このブラウザ上で API を実験できる環境でも、指定した生徒に実際の招待メールが飛びます
ここで試すのは実際の生徒のメールアドレスではなく、テストアカウントを作って実行したほうが安全です
Tips 3
Reference ページにも API の実行環境があります
Google Classroom > Reference > REST Resources > Invitations > create > API

このページでも API を実行できて、Tips 2 と同様に Request body を入力して Execute をクリックすると、実際に指定した生徒に招待メールを送信することができました
Reference
Method: invitations.create
関連記事