LoginSignup
0
3

More than 3 years have passed since last update.

GASで生徒の質問対応をする教師

Last updated at Posted at 2020-06-14

質問対応にGoogleフォームを使用

高校で教員をしています。
学校が臨時休校になったとき,教員と生徒にGoogleアカウントが割り当てられ,Classroomなどを使えるようになりました。
生徒からの質問対応にGmailを使いたかったのですが使用不可に設定されており,生徒との個人的なメールアドレスでのやり取りも禁止されているため,以下の方法で質問を受けることにしました。

  1. Googleフォームで名前,質問内容,参考画像(あれば)を回答してもらう
  2. 生徒個人へGoogle Classroomで質問を作成し,質問内容に返事を,回答には選択肢「既読」のみを用意して送信する

理系科目のため,数式や図を紙に書いて写真で送信できるよう,このような方法にしています。

フォームへの回答内容をメール通知

フォームをこまめにチェックするのが面倒なので,回答をメール通知してもらうためのGoogleAppsScriptを作りました。
フォーム本体からの通知だと,参考画像が送られてきたときにGoogle Drive上のURLが取得できなかったため,フォームに紐付けられているスプレッドシートから通知するようにしました。

このようなシートになっていて,回答があるたびに最新行に内容が追加されていくようです。
ex.png

「ツール」→「スクリプトエディタ」を開き,以下のようなGoogle Apps Scriptを作りました。

function sendNotification() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();//スプレッドシートを取得
  const sheet = ss.getSheets()[0];//シートを指定
  const cell = sheet.getLastRow();//最新行を取得

//最新行のB列の値を取得(アカウント)
  const account = sheet.getRange('B'+ cell).getValue();

//最新行のC列の値を取得(氏名)
  const name = sheet.getRange('C'+ cell).getValue();

//最新行のD列の値を取得(質問内容)
  const question = sheet.getRange('D'+ cell).getValue();

//最新行のE列の値を取得(画像URL)
  const image = sheet.getRange('E'+ cell).getValue();

//メールの本文を指定
  const msg = account + '\n氏名:' + name + '\n質問:' + question + '\n' + image;

//メールを送る(メールアドレスは自分のものに変更します)
  MailApp.sendEmail('example@gmail.com', '質問がきました', msg);
};

トリガーをこのように設定しました。
ex2.png

使用してみて

生徒からの質問があると,以下のようなメールが届きます。

質問がきました

<生徒アカウント>
氏名:<氏名>
質問:<質問内容>
<画像URL>

フォーム自体の設定での通知や,Zapierを利用しての通知なども試してみましたが,スマホのメールで素早く確認する場合にはこの方法が最も便利そうです。

生徒への返信方法は?

Classroomでその生徒に向けた選択肢型の質問を作成し,返信をしています。
選択肢は一択で「既読」とすることで,生徒の既読確認に使っています。

別の使い方

同じようにして,担任クラスの生徒に大学入試の合否発表をさせています。
メール通知が来るのでリアルタイムで報告が見られて便利です。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3