目次
コース情報の取得
ここではすでに作成済みコースのコース情報をGASで変更する方法を説明します。まずコース一覧の取得方法に従って変更したいコースのcourseIDを調べ、getメソッドで変更したいコースを取得します。getメソッドはコース情報をオブジェクト形式で返します。
/**
* Retrieves course by id.
*/
function getCourse() {
const courseId = '123456';
try {
const course = Classroom.Courses.get(courseId);
Logger.log('Course "%s" found. ', course.name);
} catch (err) {
Logger.log('Course with id "%s" not found', courseId);
}
}
取得したコース(course)の名前を調べたい場合にはcourse.name、取得したコースの教師グループメールアドレスを調べたい場合には、course.teacherGroupEmailなどと「取得したコース.コース情報」で指定する。コース情報として指定できるプロパティはResource:coursesを参照のこと。
コース情報の変更
以下のコース情報は必要に応じて何時でも変更することが可能です。
- name(コース名)
- section(セクション)
- descriptionHeading(説明のヘッダー、どこに表示されるのか不明)
- description(説明)
- room(部屋)
- courseState(コース状態)
コース情報の変更にはCoursesクラスのupdateメソッド(courses.update)を使います。コース情報を変更するには、次の例のように変更したいコース情報を、オブジェクトのプロパティを変更する要領で修正し、それを反映させる方法を取ります。
/**
* Updates the section and room of Google Classroom.
*/
function courseUpdate() {
const courseId = '123456';
let course = Classroom.Courses.get(courseId);
course.section = 'Period 3';
course.room = '302';
course = Classroom.Courses.update(course, courseId);
Logger.log('Course "%s" updated.', course.name);
}
このように説明すると、コース情報の一つであるcourseIdも変更できそうに思えますが、courseIdの変更はできない仕様になっています。
同じくCoursesクラスのpatchメソッド(courses.patch)でもコース情報の変更はできるのですが、次の例をみれば分かるように引数の指定方法がやや煩雑です。なぜコース情報を変更する方法としてupdateメソッドとpatchメソッドが用意されているのか、よく分かりません。
/**
* Updates the section and room of Google Classroom.
*/
function coursePatch() {
const course_id = '123456';
let course = {
'section': 'Period 3',
'room': '302'
};
const mask = {
updateMask: 'section,room'
};
course = Classroom.Courses.patch(body=course, id=course_id, updateMask=mask);
Logger.log('Course "%s" updated.', course.name);
}
次回は、コースを削除する方法についてまとめます。