#89 クラスを一括作成する
わたし自身は、あまり Google Classroom のクラスを大量に作成することがないので必要性を感じていなかったのですが… #88 の対になるプログラムとして、Google Classroom のクラスを一括作成するプログラムを作成してみました。クラスを作成するだけでなく、「教師」や「生徒」の招待もあわせて行います。
同様のプログラムは、検索すると他にも公開されているかと思いますが、一つの事例としてご覧ください。
作成したプログラム
作成したプログラムは、下図のような Google スプレッドシートに埋め込んであります。一つのシートに情報を入力して、「クラス作成」ボタンを押せば、クラスが作成されます。
以降で、簡単に使い方を説明します。
(1)スプレッドシートのコピー
クラスを作成する Google アカウントでログインした状態で、以下の URL にアクセスして、スプレッドシートをコピーしてください。
https://bit.ly/403tfoE
→ 利用件数を確認するために Bitly の短縮 URL で掲載しています。
プログラムをはじめて実行する際には、アカウントによる確認作業が必要になります。詳しくは以下の投稿をご覧ください。
(2)作成するクラスの情報を入力
列 B から作成するクラスの情報を入力します。1列に 1つのクラスの情報を入力する感じです。
入力する内容は以下の通りで、※の付いた「クラスの名前」は省略できません。
クラスの名前 ※
必ず入力しなければなりません。この「クラスの名前」が入力されていない列は、処理の対象になりません。セクション
作成するクラスの「セクション」に設定されます。クラスの説明文
作成するクラスの「説明」に設定されます。部屋
作成するクラスの「部屋」に設定されます。副担任
作成するクラスの「副担任」(オーナーではない「教師」)に設定されるユーザーのメールアドレスを設定します。
設定できるのは、列 A の見出しに設定されている通り、20人分です。生徒
作成するクラスの「生徒」に設定されるユーザーのメールアドレスを設定します。列 A の見出しでは 50人分となっていますが、「生徒」についてはそれ以上設定されていても、設定されているだけ登録します。
赤色のセル「id」と「担任」には、何も入力しないでください。これらのセルには、処理を実行するとその結果が設定されます。 ※「担任」には、上述のプログラムの実行確認を行ったユーザーが設定されます。
(3)注意事項
Google Classroom には、以下のヘルプ記事で説明されているような制限が存在しています。
「1 クラスあたりの教師」では、50人までの「教師」が設定できることになっています。オーナーである「担任」を除けば、49人の「副担任」が設定できるはずですが、このプログラムでは登録できる「副担任」を 20人としています。これは、一括作成するようなクラスにそんなに大量の「副担任」を設定するケースは稀だろうと考えたからです。
プログラムでも 20人分しか「副担任」として登録するデータとして扱わないので、列 A で「副担任」となっている行を追加・削除しないでください。
「送信できるクラスの招待状」は ”教師 1 人につき 1 日あたり 500 通” に制限されています。これは、このプログラムとは回避できない制限です。
Google 側としては、クラスを作成するのは授業担当者で、クラスを管理者が一括して作成することを想定していないのだと思います。Google Classroom を操作するために提供されている API にも、これを回避するような手立ては用意されていないようなので、1人が一括で作成するのであれば、日を分けて登録するしかありません。
(4)エラーが発生したとき
プログラム中を実行しているときにエラーが発生した場合、4行目にそのエラー内容が設定されるので確認してください。
また、「副担任」「生徒」の登録時にエラーが発生した場合には、個別のエラーの内容は 4行目に設定するとともに、当該ユーザーのセルにその内容をメモとして設定し、セルの色を変更しています。
クラスの作成後は、まず 4行目の内容を確認してください。
最後に
今回のプログラムは、以前に作成したプログラム #88 の対になるものとして作成しました。クラスを一括作成できますが、Google Classroom の「送信できるクラスの招待状」の制限で、招待状を送信できる数が制限されているので、学校すべてのクラスを一括作成するような用途には、現実的には使えないのかもしれません。
それぞれの教師が、自分の担当するクラスを一括作成するようなケースであれば、大丈夫だろうと思います。👍
最後に、お決まりのフレーズなどを書いておきます。
一応の動作確認は行っているものの、不慮のトラブルによって損害等が生じても、責任はとれませんので予めご了承ください。
コメントを含めても 190行くらいのスクリプトであり、実行に際して目的外の場所への書き出しや収集などは行っていません。
特別なエラー処理は行っていないので、意図しないケースでエラーが発生してしまうかもしれません。どうにもならない場合には、ご連絡ください。
わたし自身にしてみると、このような「スクリプトを作ること」が目的になっているような感じですが、このスクリプトが何かの役に立てば幸いです。
「スキ ♡」を押してもらえると、このようなプログラム作成の励みになります。😍