#31 「Canva for Education」に SSO でログインしよう!
確かに Google のサービスにも「図形描画」はあるものの、Microsoft の同様のサービスと似たようなもので、工夫しなければクリエイティブな作品が作れるような感じではないと思いませんか?
そんなときに「Canva」を利用すると、高品質な多くのテンプレートと素材を利用して、すばらしい出来栄えの作品が作れます。
https://www.canva.com/ja_jp/education/
この記事は、「はてなブログ」に 2022/02/02 に投稿したものを移転させたものです。note に移転する際に、細かな部分で変更してある部分もあります。
追記 2022/09/29
プログラム中で設定値を書き込んでいる部分で、環境によってはうまく動作しないケースがあるようでした。設定値を書き込む部分のプログラムを修正してありますので、うまく「教師」の設定が反映されない場合には、スプレッドシートをコピーしなおしてください。
はじめに
Canva は教育向けに「Canva for Education」として特別なエディションを無償で提供してくれています。このサービスの詳細については、以下のリンクでアクセスできるスライドにまとめられているので、詳しくはこちらを参照してください。
このようなサービスが無償で提供されているのは、とてもありがたいことです。
Canva Teacher Group Resouces
※リンク先のスライドも Canva で作成されているものです。このリソース中の設定ガイドの中で、以下で案内している GAS のプログラムも紹介していただいています。
このサービスを学校で利用するためには、
教員が個人で申請する
組織として申請する
のいずれかで手続きします。
後者で申請すれば、「Google Workspace for Education」を利用している環境であれば、ページ右上のアプリランチャーから Canva を選択できるようになり、まるで Google のサービスのように利用できるようになります。
後者で申請する場合には、「Google Workspace for Education」の管理者ロール「特権管理者」のアカウントで操作しなければなりません。
後者は、英語表記では「Canva for District」、日本語表記では「学校用Canva for Education」と呼ぶようです。
前述の Canva Teacher Group Resouces や Canvaヘルプセンターなどでも多くの情報が提供されていますが、最終的にはそれぞれのアカウントに設定されているユーザー情報を利用して、「Google Workspace for Education」から Canva 側に「教師」と「生徒」のどちらであるかを伝えています。
Canva 側が例示しているのは、「Google Workspace for Education」で発行されている Google アカウントのユーザー情報の中で、使っていないと思われる「コストセンター(costCenter)」という項目に、「教師」であれば ”Teacher” と設定しておくことで、アカウントの役割を伝えようとしています。
便利なシステムが導入されていれば...
組織の規模がそれなりに大きかったり、いくつものシステムが導入されていて、複数のシステムでアカウントの連携を行っているなど、何かしらのアカウント管理に特化したシステムが導入されているのであれば、そのシステムを用いてアカウントのユーザー情報は容易に更新できると思います。
しかしながら、そのようなシステムが導入されていないのであれば、「Google Workspace for Education」の管理コンソールで、既存のアカウントの一覧を出力し、「教師」と設定するアカウントの「コストセンター」に ”Teacher” と設定して、ユーザー情報を更新してやれば大丈夫です。
しかし、CSV ファイルでの更新には、更新しない項目のデータも一緒に処理されてしまうため、
事前に最新の状態を取得 → CSVファイルで保存
更新したい情報を変更
パスワード部分は **** に指定して、更新しない
CSV ファイルをアップロードしてユーザー情報を更新
これらの作業は、組織の規模が大きくなるほどに面倒な作業となってきます。 ※まぁ、導入時に一度行えばいい作業なので、何度も行う作業ではありませんが...
どうやって解決する?
組織内の「Google Workspace for Education」のアカウントに対して、「コストセンター」に ”Teacher” と設定するために、次のようなスクリプトを作成してみました。
https://docs.google.com/spreadsheets/d/1xEyRCVnwL7ZElNkVHKg6gb7F7MDdq2d8hl-jtOofoK0/copy
上記の URL に、しかるべき権限を有したアカウントでログインした状態でアクセスして、そのアカウントの「Google ドライブ」にスプレッドシートをコピーしてください。
しかるべき権限というのは、処理対象となる「組織部門」を読み取る権限、処理対象となる「ユーザー」のユーザー情報を変更できる権限、を指します。
とは言え、この SSO に関する設定作業を行う際には、特権管理者でなければできないことが多いので、特権管理者で行うのがいいと思います。
スプレッドシートをコピーしたら、上図のようにシート「説明」の内容に従って、セルに先生用のアカウントが所属している「組織部門」を入力し、順番にボタンを押していけば、ユーザー情報の更新が行えます。
念のために、一部の局所的な「組織部門」で動作確認を行ってからお使いください。
わたしが導入した環境では、処理に時間はかかるものの、先生用のアカウントが約 3,000人分ある環境でも、ボタンを押していくだけでユーザー情報の更新が行えました。
なお、スクリプトの初回実行時には、実行するアカウントによる確認作業が必要になります。詳しくは以下の投稿をご覧ください。
最後に
最後に、お決まりのフレーズなどを書いておきます。
一応の動作確認は行っているものの、不慮のトラブルによって損害等が生じても、責任はとれませんので予めご了承ください。
コメントを含めても 130行程度のスクリプトであり、実行に際して目的外の場所への書き出しや収集などは行っていません。
特別なエラー処理は行っていないので、意図しないケースでエラーが発生してしまうかもしれません。どうにもならない場合には、ご連絡ください。
わたし自身にしてみると、このような「スクリプトを作ること」が目的になっているような感じですが、このスクリプトが何かの役に立てば幸いです。