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

2025年4月25日金曜日

Google ClassroomのAPIで使う courseId の数字を知りたい


Google ClassroomのAPIで生徒を招待しようとした際に、courseId が必要になりました


クラスのURLの末尾にある英数字の文字列が courseId なのかと思ったらちょっと違いました


今回はそれについて調べて試したことを書いていきます


まず第一に、Apps Scriptで使う courseId は数字のみの組み合わせです


その数字を英数の文字列に変換したものがクラスのURLの末尾についている


そのため、 クラスのURLの末尾にある文字列をそのまま courseId としてコードに書くと、数字じゃないのでエラーになる


そこで、 courseId の数字を取得する必要がある


公式リファレンス > Classroom Service > Sample code > List courses にちょうどいいコードがあったので、これを使って courseId の数字を取得してみます




Code.gs
/**
* Lists 10 course names and IDs.
*/
function listCourses() {
/**
* @see https://developers.google.com/classroom/reference/rest/v1/courses/list
*/
const optionalArgs = {
pageSize: 10
// Use other query parameters here if needed.
};
try {
const response = Classroom.Courses.list(optionalArgs);
const courses = response.courses;
if (!courses || courses.length === 0) {
console.log('No courses found.');
return;
}
// Print the course names and IDs of the available courses.
for (const course in courses) {
console.log('%s (%s)', courses[course].name, courses[course].id);
}
} catch (err) {
// TODO (developer)- Handle Courses.list() exception from Classroom API
console.log('Failed with error %s', err.message);
}
}


このコードがやっていること:

自分が指導・参加しているクラス(course) のリストを取得する(optionalArgsの分だけ)
const response = Classroom.Courses.list(optionalArgs);
const courses = response.courses;


そのリストのクラス(course) 毎に、 course の name と id を取得する
for (const course in courses) {
console.log('%s (%s)', courses[course].name, courses[course].id);
}


この courses[course].id が courseId で、実行すると以下のように取得できました


この例では 699141862609 が courseId になります



Reference

Develop Google Classroom apps and integrations
https://developers.google.com/workspace/classroom

Classroom Service > List courses
Method: courses.list

Latest post

スプレッドシートの空白セルを直前の値で埋めたい

A列の空白セルに直前の値を入れたくて書いたコードです スプレッドシートに以下のようなBeforeの表があるとき (A列に空白セルがある) Before 1 A B 2 エリア 都市 3 東京 新宿 4 渋谷 5 池袋 6 神奈川 横浜 7 川崎 8 相模原 9 千葉 千葉 10 ...