こんにちは「くら」です!
今回はGoogle Apps Script(通称GAS)で作成するLINE BOTの
簡単な作り方を紹介します。
無料のGoogleアカウントさえあれば作成可能なので、ぜひチャレンジしてみてください!
『 サンプル 』と発言すると、『 サンプルサンプルサンプル 』と返してくれるLINE BOTを作る手順を紹介します!
必要なもの
- LINEアカウント
- LINEBOTのチャンネルアクセストークン
- Googleアカウント
GASのコードを追加する
1 最初に『 Googleドライブ 』へアクセスします。
2 『 新規 』>『 その他 』>『 Google Apps Script 』の順で押下します。
3 プロジェクト名を設定します。好きな名前を入力し、『 名前を変更 』を押下してください。
4 『 コード.gs 』に以下のコードを貼り付け、名前を『 main 』に変更します、
1行目のトークンは事前に取得したLINEのチャンネルアクセストークンを入力してください。
main処理の説明
main の処理ではLINEから Webhock を受け取り、送られてきたイベントを処理します。
5 『 ファイル 』>『 + 』 > 『 スクリプト 』で新規にスクリプトを追加します。
名前をmessageController に設定し、以下のコードを貼り付けます。
messageController処理の説明
特定文字列が含まれていた場合に、返信メッセージを組み立てる処理を行います。
6 最後に replyLine 処理を追加します。以下のコードを貼り付けます。
replyLine処理の説明
LINEで返信する処理を行います。
ウェブアプリをデプロイする
1 『 デプロイ 』>『 新しいデプロイ 』を押下します。
2 『 デプロイ 』>『 新しいデプロイ 』を押下します。
3 アクセス出来るユーザーを『 全員 』に変更し、『 デプロイ 』を押下します。
4 承認画面が表示されるので、下の赤枠の順に押下します。
最後に表示される ウェブアプリのURL が次の Webhook URL です!
LINE DevelopersにWebhook URLを設定する
1 LINE チャンネル基本設定のページに遷移し、『Webhook設定』の『編集』を押下します。
LINEチャンネル基本設定の遷移先は過去の記事を参考にしてください。
2 GASのウェブアプリケーションのURLを入力し、『更新』を押下します。
3 『検証』を押下し、『成功』と表示されたらOKです。Webhookの利用を『ON』にします。
LINEBOTが動作している様子
設定したBOTを友だち登録します。チャンネル基本設定のQRコードから友達登録してください。
まとめ
なるべくシンプルな作りになるようにコードを書いてみました。
コードにはコメントを多く入れているので、理解の助けになれば嬉しいです。
コメント
はじめまして。プログラミング未経験者です。
ポストバックアクションの勉強の為に手順書通り操作をさせていただきましたが
ラインで「サンプル」と入力しても「メッセージありがとうございます〜」としか帰ってきません。何が原因なのか教えてもらえませんでしょうか?
「メッセージありがとうございます!
申し訳ありませんが、このアカウントでは個別のお問い合わせを受け付けておりません。
次の配信までお待ちください(content)」
というメッセージが返ってきているでしょうか?
こちらはLINEの応答メッセージ機能というものらしいです。
https://www.linebiz.com/jp/manual/OfficialAccountManager/automated-messages/create/
公式マニュアルにある『ステータス』をオフにすることで、このメッセージは返ってこなくなります。
ステータスがオンの状態でも、サンプル→サンプルサンプルサンプルと返ってくるはずなので、
以下2点が正しい値か確認してもらって良いですか?
①WebhookURLの確認
https://arukayies.com/gas/line_bot/line-bot-with-gas#toc8
②トークンの確認
https://arukayies.com/gas/line_bot/gettoken#toc5
arukayies さん,はじめまして.
LINE BOT作成のため,この記事で勉強させていただいていますが,
「サンプルサンプルサンプル」と返答がありません.
WebhookURL,トークンの値が正しいことも確認したのですが,どこが原因なのかわからない状態です.
原因として,思い浮かぶものがあれば教えていただきたいです.
よろしくお願いします.
はじめまして。naoki-oさん
そうですね。。。
なにも反応がない状態ですよね。
現状のコードを共有してもらうことは可能でしょうか?
同じように表示することができました!!
とても参考になりました。
ここから試行錯誤していこうと思います。