こんにちは、ichi3270です。
新型コロナウィルス感染拡大の影響で、授業の在り方は大きく変わっていることと思います。
そんな中、教員と学生間での資料のやりとりや、課題の提出等に、Google Classroomを使用されることも増えていると思います。
今回は、Googleスプレッドシートに入力したデータから、一括でClassroomのクラスを作成する方法を説明したいと思います。
*この記事を参考にしたことにより、ご利用者様、または第三者に損害・トラブル等が発生した場合でも、一切の責任を負いません。自己責任の上でのご利用をお願いいたします。
スプレッドシートを作る
まずは、新規のスプレッドシートを作成してください。
そして、コース作成という名前のシートを用意してください。
シート全体を選択し、セルの書式は「書式なしテキスト」にしておいてください。
![作成したスプレッドシート](https://web-breeze.net/wp-content/uploads/2020/11/image-4-1024x251.png)
1行目は上の画像のようにしてください。(一言一句同じにする必要はありません)
ちなみに、左上のボタンは、挿入 → 図形描画で作成しました。こちらも、どんな見た目でも構いません。
スクリプトを貼り付ける
次に、スクリプトエディタを起動します。
スクリプトと聞くと、ハードルが高いかもしれませんが、コピペするだけなのでご安心ください。
![スクリプトエディタを起動する方法](https://web-breeze.net/wp-content/uploads/2020/11/image-5-600x342.png)
最初から下記のコードが入っていますが、この3行は消してください。
![デフォルトのコード](https://web-breeze.net/wp-content/uploads/2020/11/image-6.png)
次に、下記のコードをコピーして、そのまま貼り付けてください。
/*********************************************** * コースを一括で作成する ***********************************************/ 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("処理が終了しました。"); }
貼り付け終わったら、このプロジェクトに名前を付けて、上書き保存します。
![スクリプトの保存](https://web-breeze.net/wp-content/uploads/2020/11/image-7-600x355.png)
リソースタブのGoogleの拡張サービスから、Google Classroom APIをONにします。
![Classroom APIを有効にする手順](https://web-breeze.net/wp-content/uploads/2020/11/image-13-456x400.png)
ここまでできたらスクリプトはOKなので、タブを閉じてください。
ボタンにスクリプトを割り当てる
さきほど作成したスクリプトを、コース作成実行ボタンに割り当てます。
ボタンをクリックし、スクリプトを割り当てをクリックします。
![ボタンにスクリプトを割り当てる手順](https://web-breeze.net/wp-content/uploads/2020/11/image-8.png)
割り当てるスクリプト名を入力します。createCourseと入力してOKしてください。
![ボタンにスクリプトを割り当てる手順2](https://web-breeze.net/wp-content/uploads/2020/11/image-9.png)
実行してみる
準備ができたので、いよいよ実行してみましょう。
まずは、一括作成するクラスのデータを入力します。
クラス名とオーナーは入力必須です。その他の項目は任意なので、お好きにどうぞ。
![一括作成するコースの情報](https://web-breeze.net/wp-content/uploads/2020/11/image-21-1024x188.png)
入力できたら、コース作成実行ボタンを押してください。
![スクリプト実行の承認](https://web-breeze.net/wp-content/uploads/2020/11/image-11-600x175.png)
ここからは、色々と許可を求められますので、承認していきます。
![承認するアカウントを選択](https://web-breeze.net/wp-content/uploads/2020/11/image-15.png)
![Googleによる確認が済んでいないアプリの承認](https://web-breeze.net/wp-content/uploads/2020/11/image-16-600x285.png)
![Googleによる確認が済んでいないアプリの承認](https://web-breeze.net/wp-content/uploads/2020/11/image-17-600x126.png)
![スクリプトがアクセスする情報の許可](https://web-breeze.net/wp-content/uploads/2020/11/image-18-332x400.png)
これで、スクリプトを実行することを許可できました。
気を取り直して、もう一度コース作成実行ボタンを押してください。
![確認メッセージ](https://web-breeze.net/wp-content/uploads/2020/11/image-19.png)
![終了メッセージ](https://web-breeze.net/wp-content/uploads/2020/11/image-20.png)
これで処理終了です。
Google Classroomの画面で結果を確認してみましょう。
![Classroomの画面で結果を確認](https://web-breeze.net/wp-content/uploads/2020/11/image-12-1024x552.png)
スプレッドシートに入力した5つ分のクラスが一括作成できていました。
おわりに
いかがでしたか?参考になりましたでしょうか。
今回はクラスの一括作成でしたが、他にも色々なことができそうなので、随時記事をアップしたいと思います。
コメント
コードの公開及びレクチャー下さり本当にありがとうございます。
すごく助かっています。
ありがとうございます。