ポンコツエンジニアのごじゃっぺ開発日記。スマートフォン用の表示で見るポンコツエンジニアのごじゃっぺ開発日記。ポンコツだけど、気にするな。エンジニアの日々の開発などの記録を残していきます。Script(GAS)をこれから使おうという方向けのアドベントカレンダーになります。今回は、アンケートなどで使われるGoogleフォームに関する記事になります。Googleフォームに回答があったら、その入力内容をメールで送信しようというものをやってみました。こちらが、完成イメージになります。処理の流れアンケート入力さいごに前提この記事ではあえて遠回りなやり方を行っています。アンケートフォーム側のスクリプトを書くことで、実現できますが、今回はこのようなやり方でもできますよという遠回りな紹介をしたいと思います。シンプルなやり方は以下のような方法をお試しください。www.ec-create.jpアンケートフォーム今回の例で作成したアンケートフォームは以下になります。ついでに、こういう入力を想定しています。実装ということで、スクリプトの用意をしましょう。アンケートフォームの回答をスプレッドシートにまとめるようにしましょう。アンケートの作成画面から、回答のタブを選び、スプレッドシートのアイコンをクリックします。作成できたスプレッドシートから、スクリプトエディタを開きます。参考:https://www.pnkts.net/2019/12/01/run-gas-tutorial#%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%8B%E3%82%89%E9%96%8B%E3%81%8Fそして、以下のスクリプトを入力します。result)}ウェブアプリケーションとして公開そして、このスクリプトをウェブアプリケーションとして公開します。参考:https://www.pnkts.net/2019/12/07/gas-website#%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6%E5%85%AC%E9%96%8Bここで気をつけないといけないのが、実行者を自分に設定しないといけません。公開されたURLを上のスクリプトの[ウェブアプリケーションとして公開したときのURL]に入力します。次に、トリガーの設定を行います。フォームの入力があったら実行されるものになります。このように、フォーム送信時にonChange()を実行するようにします。トリガーの設定の参考:https://www.pnkts.net/2019/12/06/gas-trigger#%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%AE%E8%A8%AD%E5%AE%9A処理の流れこれで一通りの設定が完了しました。特殊なことをしていますね。onPost()が実行されgmailが送信このような流れになります。してこのようにしているかというと、フォーム送信時をトリガーとして実行している場合、そのスクリプトの実行者が匿名ユーザになってしまい、GmailApp.sendEmail()を実行しようとしても、匿名ユーザからメールの送信ができない仕様となっています。そのため、doPost()の実行者を自分(作成者)にすることで、gmailを自分から送ることができるようになります。そのため、ちょっと複雑なフローで処理を行っています。アンケート入力さて、実際に入力をしてみましょう。最初にも紹介しましたが、このように入力して送信してみましょう!無事、入力した内容がメールで送られてきました!さいごにGoogleフォームとの連携ができました!このように、ちょっと工夫をすると意外といろんなことができるようになります。Tumblr関連記事2019-12-19【GAS】Googleの翻訳機能を使って無料の翻訳APIを作成してみよう。19日目の記事です...2019-12-11【GAS】スプレッドシートで目次のようにシートの一覧ページを作ろう。11日目の記事です...2019-12-10【GAS】スプレッドシート上にボタンを配置してスクリプトを実行しよう。