LINE botをフォローしたらメッセージを送るようにする
前回はLINEチャネルのアクセストークンとWebhookの設定をして、GASとLINEチャネルを提携させるための設定を行った。今回はいよいよLINEボットをつくっていきたいと思う。今回は手始めに、フォローしたときにメッセージを返すようにする。
前提条件
LINEチャネルを作成していること
LINEチャネルのアクセストークンとWebhookの設定していること
環境
Windows 10
Google Chrome
Google Apps Scriptのコードを変更
以前、ブラウザに「Hello」とだけ表示させる簡単なGASのコードをデプロイしたが、今回はこのコードを以下のように変更した。”Your access token”の部分には、以前取得した自分のアクセストークンを設定する。
let channel_token = "Your access token" | |
let url = "https://api.line.me/v2/bot/message/reply" | |
function doPost(e) { | |
let json = e.postData.contents | |
let events = JSON.parse(json).events; | |
events.forEach(function(event) { | |
if(event.type == "follow") { | |
follow(event); | |
} | |
}); | |
} | |
function follow(e) { | |
let message = { | |
"replyToken" : e.replyToken, | |
"messages" : [{ | |
"type": "text", | |
"text" : "フォローありがとうございます。毎月25日に家賃の支払いをリマインドします。" | |
}]}; | |
let options = { | |
"method" : "post", | |
"headers" : { | |
"Content-Type" : "application/json", | |
"Authorization" : "Bearer " + channel_token | |
}, | |
"payload" : JSON.stringify(message) | |
}; | |
UrlFetchApp.fetch(url, options); | |
} |
内容としては、doPost(e)がまず最初に実行され、followイベントが発生したらfollow(event);でfollow functionを呼び出してメッセージを送るコードになっている。
変更したコードをデプロイする
コードを保存したら、前回と同じ要領で「公開」タブから「ウェブアプリケーションとして導入」を選択して、前と同じように以下のように設定して更新する。
すると以下のようにAuthorized requiredというメッセージが出るので、「許可を確認」をクリック。
クリックすると以下のようなメッセージが出る。一見「安全なページに戻る」しか選べないように見えるが、「詳細を表示」をクリックすると「rent-riminder(自分がつくったアプリ名)に移動」というリンクが出てくるので、こちらをクリックする。
続いて以下のような画面になるので、「許可」をクリック。
これでデプロイは完了。
つくったLINEチャネルをフォローしてみる
ここでLINE Developersのページから作成したチャネルを開き、「Messaging API設定」を開くと、ボットのIDとQRコードが表示されている。今回は、試しに私が普段使っているLINEアカウントから、このボットをフォローしてみる。自分のLINEアカウントから、ID検索するか以下のQRコードを検索する。
すると、以下のようにボットが表示されるのでフォローする。
すると、以下のようにメッセージが送られてきた。無事に成功!
…あれ? GASで指定したコードと違うメッセージも一緒に送られてる? どうもLINEチャネルのデフォルト設定でフォローのメッセージが設定されており、それがまず最初に送られてしまうようだ。これはそのうち設定を変えて送られないようにしたいと思うが、とりあえず目的は達成。
次はいよいよリマインドのメッセージ送信…をやっても良いのだが、せっかくなら色々やってみたいので、こちらからメッセージを送ったときに返信するようにしてみたいと思う。
参考サイト
今回は以下の記事を参考に進めさせて頂きましたm(_ _)m
【LINE BOT】30分からできるLINE BOT開発④【フォローイベントの作成】
LINEボットをつくろう日記のまとめ
以下のページに、この日記をまとめています。日記をなぞっていけば同じようにLINEボットができるはず。興味がある方はぜひ。