第74話:初めてのLINEボット開発!GASで作る「超シンプル1秒メモ帳」

40代後半の日本人男性が、笑顔でスマホを片手に持ち、親指で画面をタップしているベクターイラスト。スマホの画面からは「メモ」という吹き出しが飛び出し、それが光る線を通って、右側にある「スプレッドシート(表計算)」のアイコンに吸い込まれていく様子が描かれている。背景は明るくクリーンな作業空間で、初めてのアプリ開発に成功した喜びと手軽さを表現したポップなデザイン。 AI活用

こんにちは!「中年からのAI再スタート」のYasuです。

これまでの連載で、GASの基礎(データ型if文JSON関数)をしっかり学んできましたね。 基礎が固まったところで、今回からはいよいよ**「自分の実務をラクにする、超・実用的なオリジナルツール作り」**に挑戦します!

最終的な目標は、**「LINEでつぶやくだけで、AI(Dify)が勝手に仕分けをしてくれる全自動の確定申告・経費ボット」**を作ることです。

……が!いきなり「LINEの設定」「AIの設定」「スプレッドシートへの書き込み」を全部同時にやろうとすると、頭がパンクして挫折してしまいますよね(笑)。

そこで今回は準備体操として、AI(Dify)の機能はいったん置いておき、**「LINEでつぶやいた言葉が、そのままスプレッドシートに記録されるだけの『1秒メモ帳ボット』」**を作ります。

「現場に到着!」「〇〇様から着信あり」「洗剤の在庫残りわずか」など、仕事中のちょっとしたメモをLINEに投げるだけで、自動で日付付きのリストが出来上がる超便利ツールです。 これができれば、次回の「AI経理ボット」への進化はもう目の前ですよ!さっそく作っていきましょう。


ステップ1:記録用の「スプレッドシート」を用意する

まずは、メモが書き込まれる「ノート」を作ります。

  1. 新しいGoogleスプレッドシートを作成し、ファイル名を「LINEメモ帳」などにします。
  2. 1行目の見出しに、**A1セルに「日付」、B1セルに「メモ内容」**と入力します。

準備はこれだけです!


ステップ2:LINE Developersで「ボットの窓口」を作る

次に、あなたがLINEで話しかける相手(ボット)を作ります。個人のLINEアカウントで無料で作成できます!

  1. LINE Developers にアクセスし、個人のLINEアカウントでログインします。(※「ビジネスIDを作成」という画面が出ても、無料のまま進めるので安心して作成ボタンを押してください!)
  2. 管理画面(コンソール)に入ったら、**「プロバイダー」**を作成します。(名前は「Yasuのツール」などでOK)
  3. 作成したプロバイダーの中で、**「Messaging API」**のチャネルを新規作成します。ボットの名前(例:1秒メモ帳)や業種などを入力して作成を完了させます。

🔑 【超重要】連携用のカギ(APIキー)をゲットする! ボットが完成したら、設定画面の**「Messaging API設定」**タブを開き、一番下までスクロールします。 **「チャネルアクセストークン(長期)」**という項目の「発行」ボタンを押し、表示されためちゃくちゃ長い文字列をコピーして、メモ帳などに貼り付けておいてください。


ステップ3:GASに「魔法のコード」を貼り付ける!

ここからが本番です!LINEとスプレッドシートを繋ぐ伝書鳩(GAS)を設定します。

  1. 先ほど作ったスプレッドシートの上のメニューから、**「拡張機能」「Apps Script」**をクリックします。
  2. 最初から書かれているコードをすべて消して、以下のコードをコピペしてください。

▼ コピペ用:GASコード

JavaScript

function doPost(e) {
  // 1. 第72話で学んだ魔法!LINEから届いたJSON(手紙)を開封する
  const json = JSON.parse(e.postData.contents);
  const userMessage = json.events[0].message.text; // LINEのメッセージを取り出す
  
  // 2. 今日の日付を準備する
  const today = new Date();
  
  // 3. 【今回の新技!】スプレッドシートの一番下の行にデータを追記する
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([today, userMessage]); 
  
  // LINE側に「無事に受け取ったよ」と合図を返す
  return ContentService.createTextOutput("Success");
}

💡 今回の新技:appendRow(アペンド・ロウ) コードの下の方にある sheet.appendRow([today, userMessage]); が今回の主役です! 今までデータを「読み込む」だけでしたが、この呪文を使うと、スプレッドシートの「まだ文字が書かれていない一番下の行」に、新しいデータを自動で書き足してくれます。

コードを貼り付けたら、**「フロッピーディスクのマーク(保存)」**を必ず押してくださいね!


ステップ4:GASを公開して、LINEと繋ぐ(Webhook)

最後に、このGASをLINEが使えるように「公開」して、2つをガチャン!と繋ぎ合わせます。ここが初心者の最大のつまずきポイントなので、慎重にいきましょう。

  1. GASの画面右上の青いボタン**「デプロイ」「新しいデプロイ」**をクリック。
  2. 左上の「歯車マーク」から**「ウェブアプリ」**を選択。
  3. アクセスできるユーザーを、必ず**「全員」**に変更して「デプロイ」をクリック。(※警告画面が出たら、「詳細」>「安全ではないページに移動」>「許可」で突破!)
  4. 発行された**「ウェブアプリのURL」をコピー**します。

🔗 最後の仕上げ:Webhook設定

  1. さきほどの「LINE Developers」の画面(Messaging API設定タブ)に戻ります。
  2. 中段にある**「Webhook設定」**の「編集」を押し、コピーしたGASのURLを貼り付けて更新します。
  3. そのすぐ下にある**「Webhookの利用」のスイッチを、必ず「オン(緑色)」**にしてください!

LINE DevelopersでのWebhook設定画面。Google Apps Script(GAS)のデプロイURLを登録し、「Webhookの利用」をオンにすることで、自作のLINEボットと外部プログラムをリアルタイム連携させる設定手順を解説しています。

いざテスト!あなたのLINEボットが動き出す!

全ての設定が完了しました! LINE Developersの画面上部にあるQRコードをスマホで読み込んで、作成したボットを「友だち追加」してください。

そして、トーク画面から適当なメモを送ってみましょう。 「トイレットペーパー買う」

送信後、パソコンでスプレッドシートを開いてみてください。 A列に今日の日付と時間、B列に「トイレットペーパー買う」という文字が自動で書き込まれていれば……大成功です!!!🎉

LINEとGoogleスプレッドシートを連携させた自動メモ帳の動作画面。LINEで送った「トイレットペーパーを買う」というメッセージが、日付とともにスプレッドシートへ自動記録される、GASを活用した生活自動化の仕組みを解説しています。

まとめ

お疲れ様でした! AIを使わなくても、これだけでも仕事の備忘録や、ちょっとした日記帳として十分に実用的なツールですよね。色々なツール同士を連携できるアプリを作れるのは感動でした!

今回、皆さんはプログラミング初心者が一番挫折しやすい「LINEとGASの連携(Webhook)」という大きな壁を見事に突破しました。これは本当にすごいことです!

そして次回は、このシンプルなおバカさんメモ帳(失礼!)の間に、いよいよ「Dify(AIの脳みそ)」を組み込みます。 ただのメモ帳が、送った言葉の空気を読んで「確定申告の仕分け」を全自動でやってくれる天才アシスタントに進化する瞬間をお見せします。難しそうだけど、頑張ります!是非、お楽しみに!

コメント

タイトルとURLをコピーしました