0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【GAS】③Classroomのコース情報を変更

Last updated at Posted at 2021-03-21

目次

  1. 【GAS】①Classroomのコース一覧を取得する
  2. 【GAS】②Classroomのコースを新規作成
  3. 【GAS】③Classroomのコース情報を変更(このページ)

コース情報の取得

ここではすでに作成済みコースのコース情報を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);
}

次回は、コースを削除する方法についてまとめます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?