LINEで勤怠連絡を無料でメールに送ってみる

概要

ある日、会社のメールを見てみると、電車遅延で送れる旨がメールで乱立していた。電車遅延で遅れる事などしょっちゅうあるので、その度にメールを書くのも億劫だと思い挑戦してみた。勤怠連絡はコピペしてメールを書くけど名前や日付を間違ってしまう事があるので自動化したかった。

作りたいものの構成

必要なもの

・LINEアカウント
・Googleアカウント

Messaging APIの利用準備

LINE Developerとして登録して、ボットを登録する。大まかな手順としては以下の通り。
https://developers.line.biz/ja/よりLINEの開発者として登録する。
・ プロバイダーの作成
・ チャネルの作成
・ ボットの作成
詳細は Messaging APIを利用するには を参照

ここで重要なのはBotの作成。Bot作成後に取得できるアクセストークンを後程利用するのでどこかにメモしておきましょう。

Google Apps ScriptのWebアプリケーション公開

Messaging APIを利用するには、Webサーバー上のWebアプリが必要との事で、無料で利用できるGoogle Apps ScriptをWebアプリケーションとして利用する。一昔前はHTTPサーバーを自前で準備しなければいけなかった事を思うと便利な世の中になったと実感。

GASの実装

GASをWebアプリケーションと公開するためには以下のfunctionを記述する。

今回は、Messaging APIを利用するため、doPost(e)だけ存在すればOK!

GASをWebアプリケーションとして登録する

GASをWebアプリケーションとして公開するには、GASのメニューより「公開」→「ウェブアプリケーションとして導入」を選択する。基本はデフォルト設定のままで良いが、アプリケーションにアクセスできるユーザーを全員(匿名ユーザーを含む)にしておく必要がある。その後、更新を押し、 現在のウェブ アプリケーションの URLをコピーしておこう。

Messaging APIへのWebhook URLの登録

公開したWebアプリケーションをMessaging APIのWebhook URLとして登録する。この作業を行う事で、LINEで友だち登録したBotでメッセージを書くとその内容がGASのdoPost(e)へ送られてくる。

設定方法の詳細はこちら参照

という事で今回は設定だけで長くなってしまったので、アプリケーションの詳細は次回以降に・・・

メッセージを受信しよう!

と思ったが、何気に読み応えが無かったので、実際にdoPost(e)で受け取るJSONを記述してみる。

上のソースコードで取得できるjsonをjson.eventで出力すると以下のようなJSONが出る。

ここで重要なのが、入力されたメッセージ。これを取得しないと始まらない。そして、何か話しかけられたら答える必要がある。

メッセージに返信しよう

メッセージに返信するには以下のような感じ

WebHook URLを設定した画面から取得できるアクセストークンが必須なので注意。

では今度こそ続きはいつかまた・・・