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-16

目次

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

コースの作成

Classroomのコースを作成するためにはcreateメソッドを用いる。

Classroom.Courses.create(リソース情報)

リソース情報の指定は以下のManage Coursesの例(一部改変)の様に、courseオブジェクトを作成してそれを読み込む形がコードが読みやすくておすすめ。

/**
 * Creates 10th Grade Biology Course.
 */
function createCourse() {
  let course = {
    name: '10th Grade Biology',
    section: 'Period 2',
    descriptionHeading: 'Welcome to 10th Grade Biology',
    description: "We'll be learning about about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!",
    room: '301',
    ownerId: 'me',
    courseState: 'PROVISIONED'
  };
  course = Classroom.Courses.create(course);
  Logger.log('Course created: %s (%s)', course.name, course.id)
}

リソースのうちname, ownerId, courseStateは必ず指定しなければならない。ちょっと試してみる程度なら、以下でも良い。一般ユーザーが自身のクラスルームにGASでコースを作成する場合には、courseStateはPROVISIONED(承諾、辞退の選択あり)ではなく、ACTIVE(承諾済み)で良い。Googleの無料アカウントだといきなりACTIVEはできない?

最低限の指定
Classroom.Course.create({name: 'ここにコースの名前', ownerId: 'me', courseState: 'ACTIVE'});

Coursesリソースの説明

よく使うものだけを表にまとめる。詳細はResource:Coursesを参照。

リソース 説明
id string コース作成の時には不要。SISを使用している場合には新規作成時にもエイリアスを指定することが推奨されている。詳細は参考を参照
name string (必須)コースの名前
ownerId string (必須)自身なら'me'。管理者権限保持者なら一般ユーザーのメールアドレスの指定も可能
courseState string (必須だが)省略した場合のデフォルト値は'PROVISIONED'。それ以外で基本的なものは'ACTIVE', 'ARCHIVED', 'DECLINED'。これらの意味はCourseStateの説明
description string (省略可)クラスの説明
section string (省略可)セクション名
room string (省略可)部屋

CourseStateの説明

よく使うものだけを表にまとめる。詳細はCourseStateを参照。

状態 説明
ACTIVE 使用可能
PROVISIONED コースへの参加承諾(ACTIVE)・辞退(DECLINED)を求める状態。ここからの状態変更はACTIVE、DECLINEDのみ。
DECLINED コースへの参加辞退した状態。ここからの状態変更はPROVISIONEDのみ。
ARCHIVED コースがアーカイブされた状態。ここからの状態変更はいずれも可能。

参考

ClassroomとSISを接続している場合、コースを新規作成するときのコースIDにはSISのコースIDをコースエイリアスとして指定することが推奨されています。これはSISからコースを作成したり、SISへコースをリンクさせたりする場合にコースの重複を避けるためです。コースエイリアスをつけたコース作成コードのサンプルは以下の通り。詳細は[Mange Course Aliases](Manage Course Aliases)を参照のこと。

/**
 * Creates Course with an alias specified
 */
function createAlias() {
  let course = {
    id: 'p:10th_bio',
    name: '10th Grade Biology',
    section: 'Period 2',
    descriptionHeading: 'Welcome to 10th Grade Biology',
    description: "We'll be learning about about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!",
    room: '301',
    ownerId: 'me',
    courseState: 'PROVISIONED'
  };
  let course = Classroom.Courses.create(course);
  Logger.log('Course created: %s (%s)', course.name, course.id)
}
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?