LINEとGASを連携し、自動返信するところまで設定します!【LINE BOT制作】

こんにちは!サイト管理人のOKBです。

さて、今回はLINE BOT制作の初めの一歩ということで、まずは開発環境設定(GASとLINEの連携)と、何かしらの自動返信を送るところまでをゴールに進めていきたいと思います!

LINE公式アカウントの作成

すでにLINE公式アカウントをお持ちの方はスルーして結構ですが

これからLINE公式アカウントを持つ方は、このURL(https://account.line.biz/login)からまずはLINEサービスを利用するための管理アカウント(個人でもビジネスでも可)を作成し、そのあとにLINE公式アカウントを作成しましょう。

LINE公式アカウントにてbot設定

こちらLINE公式アカウントの管理画面ですが、まずは設定⇒応答設定⇒応答モードがBotとチャットの2パターンがありますが、こちらをBotにしましょう。

次に、設定⇒Messaging API⇒Messageing APIを利用する
に進みます。

まぁこちらの情報はなんでもよいですので、入力して同意する

こちらも名前が表に出るものでもないので、入力して同意する

任意なので入力せずに、OKしちゃいましょう!

OK!

すると、Messaging APIという機能が使えるようになりました。ここからは下部に表示されている「LINE Developers」に進みましょう。

急に違うページに飛ばされちゃいましたが、こちらはLINEの開発者用ページだと思ってください。
下部のMessaging APIに進みます。

「今すぐはじめよう」に進みます。

左列に先ほど作成したプロバイダーがあると思いますので、そちらをクリック

これが先ほど作成したLINE公式アカウントになります。こちらをクリック。

LINE公式アカウントの情報が出てきますので「Messaging API設定」⇒
チャネルアクセストークン(長期)を発行してください。

※チャネルアクセストークンはあとでGASの方で使用しますので、どこかにメモしておいてください。

GASのアカウントを作成しましょう!

Googleアカウントはすでに持っている前提で進めますが、まずはこのURLです。https://script.google.com/home

APPS SCRIPT を作成 に進みましょう。

おっと、さっそく難しそうなページに来ました。
プログラミングを経験している人はなんとなくわかるかもしれませんが
プログラミング未経験の人はかなりのハードルを感じるかもしれません。。

しかし、まずは第一歩ということで、もう少しお付き合いください。

コードが書いてある部分を下記コードに書き換えてください。

また、コード内の**************の部分を先ほどのチャネルアクセストークンに書き換えてください!

//固定値
var channel_token = "*********************************"
var url = "https://api.line.me/v2/bot/message/reply"

//LINEからのイベントがdoPostにとんでくる
function doPost(e) {
  //とんできた情報を扱いやすいように変換している
  var json = e.postData.contents
  var events = JSON.parse(json).events;

  //とんできたイベントの種類を確認する
  events.forEach(function(event) {

    //もしイベントの種類がトークによるテキストメッセージだったら
    if(event.type == "message") {
      if(event.message.type == "text"){

        //自動返信メッセージの内容
        var message = {
                        "replyToken" : event.replyToken,
                        "messages" : [{"type": "text","text" : "こちらはbotによる自動返信です。"}]
                      };
        //メッセージに添えなければならない情報
        var options = {
          "method" : "post",
          "headers" : {
            "Content-Type" : "application/json",
            "Authorization" : "Bearer " + channel_token
          },
          "payload" : JSON.stringify(message)
        };

        //自動返信メッセージを送信する
        UrlFetchApp.fetch(url, options);
      }
    }
  });
}

とりあえず今回は自動返信メッセージを送信するだけのコードを書いております。あとはこれを実装するだけなのですが、右上のデプロイ⇒新しいデプロイに進み

種類の選択を「ウェブアプリ」
説明は適当に入れ
ウェブアプリ>次のユーザーとして実行は「自分」
アクセスできるユーザーは「全員」
こちらでデプロイ!

すると、アクセスを承認と出てきますので進みますと、Googleアカウントのサインインを求められます。そして次いくと、このアプリ大丈夫ですかー?ってGoogleから確認が来ます(同じGoogleサービスなのになぜ??)

左下の項目で進みます(安全じゃないって言ってるけどGoogleなので大丈夫です)※日本語表示のときと英語表示の時があるのですが、まぁ日本語の時も同じ感じです。

次も英語ですみません。問題ないのでAllowで。

すると、デプロイ完了します!


そして、この時出てくるウェブアプリのURLですが、こちらをコピーして
LINEのほうに貼り付けます!

LINE Developers⇒Messaging API⇒Webhook設定
こちらに、デプロイ後発行されたURLを貼り付けてください!
そのあと検証を押すと「成功」と出ましたでしょうか!?

これで、GASからLINEへメッセージが送信が届くようになりました。

あとは、Webhookの利用もONに変更してください。

これですべての段取りがようやく完了です。意外と長かった…
友達追加して試してみます。

※あ!元々LINEの管理画面上にあるデフォルトメッセージはオフにしておきましょう。

LINEに友達追加して、「テスト」と入力してみました。

できました!ようやく…

ちょっと時間かかっちゃいましたが、まずは第一歩。LINE BOTの自動返信が出来ました。次回はもう少し深堀して、LINEBOTで何ができるのかを検証していきたいと思います!

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です