見出し画像

#08 クラスに強制的に参加させる → できません

Google Classroom の利用を進めようとすると、「はじめから生徒が参加した状態にできないの?」と言われることがありませんか? 今回は「スプレッドシート + GAS」でこの要望を解決できないか、チャレンジしてみました。

作成したスプレッドシート

上図のように要望するような「スプレッドシート + GAS」を作ることはできましたが、結論としては、以下のように実用的に運用できるものではありませんでした。

  • GAS で Google Classroom の API として提供されている Classroom.Courses.Students.create を利用すれば、クラスに指定したメールアドレスの生徒を追加可能。

  • 上記の API のリファレンスをみても、この API を実行するためにどこまでの権限が必要なのかが不明確。

  • 最高権限である「特権管理者」では実行できるが、当該クラスのオーナー(所有者)はもちろん、当該生徒に対する「ユーザー管理者」の権限を付与しても実行時に PERMISSION_DENIED となって実行できない。

  • 管理コンソールの「管理者ロール」で関連するような権限の ON/OFF が存在するかを確認してみたものの、そのような権限(設定項目)は見当たらない。

  • 現時点でわかっている分には、「特権管理者」の権限を持ったアカウントで実行しなければ、クラスに生徒を強制的に参加させることはできない。

当該クラスの教師として登録されているアカウントであれば、「ユーザー管理者」などの特別な権限を有していないくても実行できるのであればよかったのですが、そんなに簡単に行えるものではないようです。

それぞれの組織の運用ルールや考え方にもよりますが、

  • 多くの先生用アカウントに「特権管理者」の権限を与える

  • 「特権管理者」の権限を持つ人の仕事を増やす
    ※クラスの設定作業を「特権管理者」に依頼する

といった感じで解決することは現実的ではないと思います。GIGAスクール構想の目指すところから考えるに、そこまでお膳立てしなくても使えるような児童生徒を育てるべきだと思います。

一応、以下にスクリプトの中身は公開しておきますが、上記のような理由から実用的ではないと判断し、スプレッドシートは公開しません。

最後に、お決まりのフレーズを書いておきます。

  • 一応の動作確認は行っているものの、不慮のトラブルによって損害等が生じても、責任はとれませんので予めご了承ください。

  • スプレッドシートへの書き出しを行っていますが、上記で説明している以外の場所への書き出しや収集などは行っていません。

  • 特別なエラー処理は行っていないので、意図しないケースでエラーが発生してしまうかもしれません。どうにもならない場合には、ご連絡ください。

今回の結論としては、「GAS を使っても実現は難しい」という感じです。素直に招待→承認するか、クラスコードで参加させましょう。


この記事が気に入ったらサポートをしてみませんか?