メディア掲載: レバテックフリーランス様のサイトで当ブログが紹介されました

【Google Classroom】スプレッドシートでクラスを一括作成する

こんにちは、ichi3270です。

新型コロナウィルス感染拡大の影響で、授業の在り方は大きく変わっていることと思います。

そんな中、教員と学生間での資料のやりとりや、課題の提出等に、Google Classroomを使用されることも増えていると思います。

今回は、Googleスプレッドシートに入力したデータから、一括でClassroomのクラスを作成する方法を説明したいと思います。

*この記事を参考にしたことにより、ご利用者様、または第三者に損害・トラブル等が発生した場合でも、一切の責任を負いません。自己責任の上でのご利用をお願いいたします。

スプレッドシートを作る

まずは、新規のスプレッドシートを作成してください。
そして、コース作成という名前のシートを用意してください。

シート全体を選択し、セルの書式は「書式なしテキスト」にしておいてください。

作成したスプレッドシート
こんな感じになりました

1行目は上の画像のようにしてください。(一言一句同じにする必要はありません)

ちなみに、左上のボタンは、挿入 図形描画で作成しました。こちらも、どんな見た目でも構いません。

スクリプトを貼り付ける

次に、スクリプトエディタを起動します。
スクリプトと聞くと、ハードルが高いかもしれませんが、コピペするだけなのでご安心ください。

スクリプトエディタを起動する方法
スクリプトエディタを開く

最初から下記のコードが入っていますが、この3行は消してください。

デフォルトのコード
最初から表示されているコードは消す

次に、下記のコードをコピーして、そのまま貼り付けてください。

/***********************************************
 *  コースを一括で作成する
 ***********************************************/
function createCourse() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("コース作成");
  const data = sheet.getDataRange().getValues();
  data.shift();
  const select = Browser.msgBox( data.length + "件のコースを一括作成します。よろしいですか?", Browser.Buttons.OK_CANCEL);
  if (select == "cancel") {
      Browser.msgBox("キャンセルしました");
      return;
  }
  sheet.getRange(2, 8, data.length).clearContent();
  for ( let i = 0; i < data.length; i++ ){
    const course = {
      name: data[i][0],
      ownerId: data[i][2],
      section: data[i][3],
      descriptionHeading: data[i][4],
      description: data[i][5],
      room: data[i][6]
    }
    if ( data[i][1] ) { course["id"] = data[i][1] };
    try {
      const response = Classroom.Courses.create(course);
      sheet.getRange(i + 2, 8).setValue(response.id);
    } catch(e) {
      sheet.getRange(i + 2, 8).setValue(e);
    }
  }
  SpreadsheetApp.flush();
  Browser.msgBox("処理が終了しました。");
}

貼り付け終わったら、このプロジェクトに名前を付けて、上書き保存します。

スクリプトの保存

リソースタブのGoogleの拡張サービスから、Google Classroom APIをONにします。

Classroom APIを有効にする手順

ここまでできたらスクリプトはOKなので、タブを閉じてください。

ボタンにスクリプトを割り当てる

さきほど作成したスクリプトを、コース作成実行ボタンに割り当てます。

ボタンをクリックし、スクリプトを割り当てをクリックします。

ボタンにスクリプトを割り当てる手順

割り当てるスクリプト名を入力します。createCourseと入力してOKしてください。

ボタンにスクリプトを割り当てる手順2

実行してみる

準備ができたので、いよいよ実行してみましょう。

まずは、一括作成するクラスのデータを入力します。
クラス名オーナーは入力必須です。その他の項目は任意なので、お好きにどうぞ。

一括作成するコースの情報
こんな感じに入力しました。

入力できたら、コース作成実行ボタンを押してください。

スクリプト実行の承認
続行を押します

ここからは、色々と許可を求められますので、承認していきます。

承認するアカウントを選択
Googleによる確認が済んでいないアプリの承認
キツめのメッセージが出るが、「詳細」をクリック
Googleによる確認が済んでいないアプリの承認
Classroomスクリプト(安全ではないページ)に移動
スクリプトがアクセスする情報の許可
許可

これで、スクリプトを実行することを許可できました。
気を取り直して、もう一度コース作成実行ボタンを押してください。

確認メッセージ
確認メッセージが出るのでOKを押す
終了メッセージ

これで処理終了です。
Google Classroomの画面で結果を確認してみましょう。

Classroomの画面で結果を確認
5つのクラスが作成された!

スプレッドシートに入力した5つ分のクラスが一括作成できていました。

おわりに

いかがでしたか?参考になりましたでしょうか。

今回はクラスの一括作成でしたが、他にも色々なことができそうなので、随時記事をアップしたいと思います。

コメント

  1. GAS勉強中の者 より:

    コードの公開及びレクチャー下さり本当にありがとうございます。
    すごく助かっています。
    ありがとうございます。

タイトルとURLをコピーしました