前回 で味を占めたので、今度は postback を使用したアンケートを作ってみた
環境
- Google Spread Sheet
- Google Apps Script
- LINE Developers
経緯
- LINEbot と GAS だとすぐに作って動作確認できるし、インフラ準備とか必要ないからラクで楽しいなぁ
- もうちょっと LINEbot の種類を見てみよう
手順(概要)
- LINE Developers でチャンネルの作成
- GAS 構築
- GAS 公開
- LINE Developers に Webhook URL を登録
- 動作確認
手順(詳細)
1. LINE Developers でチャンネルの作成
-
https://developers.line.biz/console/channel/{id}/ で以下情報のチャンネルを作成する
- Channel type:Messaging API
- Provider:前回作成したやつ
- その他の項目は任意
- 当該チャンネルでトークンを発行する
- [MessagingAPI設定] > [チャネルアクセストークン] の「発行」を押下
2. GAS 構築
- 以下にソースを置きました
- 今回は GAS ファイルだけ作成
-
その後、任意のスプレッドシートに結果を記載するようにした
- 前回のやり方だといちいちスプレッドシートを開かないと GAS がいじれなかったのが面倒くさかったため
-
なお、スプレッドシート ID やデバッグ用 LINEID など公開したくない情報は全てスプレッドシートの Properties に入れるようにした
-
以下設定方法
-
GAS エディタ右上にある [以前のエディタを使用] を選択
「なして古いの使うん?」ていうアンケートフォームが出てくるがそっ閉じ
-
[ファイル] > [プロジェクトのプロパティ] と選択
-
[スクリプトのプロパティ] タブに以下 7 行を追加する
- DEBUGID:デバッグ情報を送付するLINEID。ハッシュ値みたいなやつ。
- PUSH_URL:LINEbot の PUSH URL
- REPLY_URL:LINEbot の REPLY URL
- SHEETID:アンケートの選択肢および結果を貯めるスプレッドシートのID
- SHEETNAME:スプレッドシートの中のシート名称
- TEMP_FOLDER_ID:グラフ画像を作成するフォルダ。作成した画像は削除されるため、一時的な出力先。
- TOKEN:LINEbot のトークン
-
-
3. GAS 公開
- 前回の ここ 参照のこと
4. LINE Developers に Webhook URL を登録
- 前回の ここ 参照のこと
5. 動作確認
- 動いた!
感想&注意点
- 前回から引き続き、デバッグ方法がわからなかったので、以下 3 通りの方法を駆使した
- 今回はなんだかんだ完了までに 2 日間くらいかかった
- デバッグ方法が確立できていないのが主たる原因
- GAS の公開バージョンも 80 を上回った
- 何かのシミュレーションをして、その結果を画像配布するようなサービスに流用できそう
- ただし GAS だと複数人同時問い合わせに耐えうる保証はない
- し、そもそもやり方を調べていない
- 簡単に動かしてみる、がテーマなのでとりあえずそこは保留にした
- ただし GAS だと複数人同時問い合わせに耐えうる保証はない