本記事ではLINEとGASを利用して、LINE上で家計簿の管理をするbotを作成していきます。
機械音痴な主婦が家計簿の記録を楽にしたいという一心で作成した記事ですので、初心者の方に寄り添った進めやすい内容になっているかと思います。
逆に、ある程度PCスキルがある方にとっては「こんなところでつまずかないよ!」というような部分まで記載しているので、ちょっと無駄が多いと感じるかもしれませんがご了承ください。
Line Developerへの登録
Line Developerサイトを開きます。(リンク押下で公式ページに遷移します)
LINEアカウントでログインする
LINEアカウントをお持ちの場合は「ログイン」を押下します。
LINE Business IDという画面に移るので、「LINEアカウントでログイン」を押下します。
新規チャネルの作成
左側メニューの「Admin」という欄にご自身のLINEアカウント名が表示されているので、それを押下します。
続いて「新規チャネル作成」を押下します。
チャネルの種類を選ぶ画面になりますので、「Messaging API」を選択してください。
チャネルの項目設定
必須項目を入力していきます。
- 会社・事業者の所在国・地域:「日本」
- 大業種:「個人」
- 小業種:「生活/暮らし」
あたりにしておくと良いかと思います。
アイコンなどはあとで設定変更できますので、一旦設定せず進めます。
ここまででLINEのアカウントの枠組みが完成しました。
作成したチャネルをLINEに友だち追加
「Messaging API設定」タブを開くとQRコードが表示されますので、それをスマホで読み込んで友達追加するとLINEに追加されます。
この状態だと、まだメッセージを送っても何も反応はありません。
既読無視です。寂しい。
Google Apps Script(GAS)の設定
続いてはGASの設定です。
GASというのは「Google Apps Script」という、GoogleスプレッドシートやGoogleフォームなどと連携してスクリプトを実行するための開発ツールです。今回作る家計簿botでは、LINEからのメッセージを受け取ってスプレッドシートの内容を返したり、スプレッドシートに登録したりします。
そのときにLINEとスプレッドシートの橋渡しとなるのがGASの存在です。
Google Apps Scriptを開く
Google Apps Script を開きます。(リンク押下で公式ページに遷移します)
以下の画面が開いたら、「Start Scripting」を押下します。(既にGoogleにログイン中の場合はApps Scriptのページに遷移します)
ログインすると以下のような画面になるかと思いますので、「Apps Script」を押下します。
GASのウェブアプリを作成する
空のプロジェクトが作成されますので、ウェブアプリとしてデプロイします。デプロイとは、アプリケーションとして公開して利用できるようにすることです。
まずはLINEとGASを連携させることが目的なので、ソースコードはこのままで大丈夫です。
右上の「デプロイ」から「新しいデプロイ」を押下します。
種類は「ウェブアプリ」を選択します。
ウェブアプリには「自分」を、アクセスできるユーザーには「全員」を設定します。
アクセスできるユーザーはデフォルトでは「自分」となっていますが、「全員」にするのを必ず忘れないようにしてください(超重要)。
この設定を忘れると、LINE側での連携確認時に401エラー(401 unauthorized)となり、連携に失敗します。
「デプロイ」を押下すると、ウェブアプリのURLが生成されますので、このURLをコピーします。
デプロイ時に以下のような画面が出た場合には、
「アクセスを承認」を押下して、左下のほうに小さく出ているリンクを押下します。警告アイコンが出てビビらせてきますがそのまま進んで大丈夫です。
LINEとGASを連携させる
作成したLINEのチャネルと、GASのウェブアプリを連携させます。
Webhook設定
LINE Developersの「Messaging API設定」タブを開き、「Webhook設定」の「編集」を押下します。
ここに、さきほどのGASでデプロイしたウェブアプリのURL(https://script.google.com/macros/s/xxxxxxxxxx/exec)を貼り付けます。
「検証」を押下します。
「成功」と出てきたらOKです。
うまく連携ができないときに見直すこと
ここまで設定して、LINEとGASの連携に失敗している場合には、以下の内容を確認してみてください。
401エラーが返って連携に失敗する
「ボットサーバーから200以外のHTTPステータスコードが返されました。(401 Unauthorized)」
こちらは先程もふれましたが、GASのデプロイ時に公開範囲を「全員」にしていないことが原因です。
再度、GASの「新しいデプロイ」にて、アクセスできるユーザーを「全員」に変更して試してみてください。その際、デプロイするだけでなく、デプロイ後のURLをLINEのWebhook設定のほうに貼りなおすのを忘れないようにしてください。
404エラーが出てしまう
「ボットサーバーから200以外のHTTPステータスコードが返されました。(404 Not Found)」
こちらは単純にwebアプリが見つからないということなので、URLのコピペミスもしくはデプロイができていないかが原因と思われます。
こちらのHTTPステータスコードチェッカーにURLを貼り付けると、ステータスコードを確認することができます。
まとめ
以上、「LINE Messaging API×GASで家計簿管理用のLINE botを作成する」について、LINEとGASの連携までを紹介しました。普段使っているLINEを、自分でカスタマイズしたり他サービスと連携させてbotを作ったりできるなんてちょっと感動ですよね。
次回から、本格的に家計簿botを作っていきたいと思います。
「医療費 3000円」
「交通費 800円」
など、LINEのメッセージをスプレッドシートに書き込んで、LINEのメッセージに「書き込み完了」と返すbotにできたらなと思っています!
細かな仕様はまだ考えていないので、これからじっくり考えます。せっかく作るなら実用的なものにしたい!日々の主婦業を少しでも楽にしたいという一心で頑張ります笑。
コメント