もしもし、そこのあなた!突然ですが、こんな経験ありませんか?
「あっ、ヤバい!地震!?ウチのハザードマップってどこだっけ…?」 「スマホでググるのも、ページ開くのも、もうめんどくさい〜!」
…はい、ありますよね!わかります、その気持ち痛いほど!
でもね、もしLINEで「〇〇区」って送るだけで、あなたの区のハザードマップが秒でピロリン♪って出てきたら…?
え、それ、神じゃん!?って思いませんか?
実はこれ、プログラミングの知識が 「ぷ」 の字も分からなくても、魔法のツール Make (旧 Integromat) を使えば、LINEとみんな大好きGoogleスプレッドシートをサクッと繋げて、マジで秒速で実現できちゃうんです!
今回は、そんな「え、嘘でしょ!?こんなに簡単なの!?」って声が聞こえてきそうな、夢のBotの作り方を、誰でも真似できるくらい噛み砕いて、笑いあり(たぶん)、感動あり(希望) でお伝えしちゃいます!✨
💖完成イメージ、見てみよう!(これ、作れちゃうんだぜ!?)
「まず完成形を見せてくれよ!」って思ったそこのアナタ、お待たせしました! このBotが完成したら、あなたのLINEにこんな「賢い友達」が爆誕します!ユーザーがLINEで「板橋区」って送ると…
ね、便利でしょ!?
もし登録してない「八王子」って送ったら…?
こんな感じで、ちゃんと「ごめんね!」って返してくれる、優しいBotだよ!
このワクワクするBotを、今から一緒に作っていきましょう!
🌟 目次(まずはここを見て、ワクワクしちゃおう!)
- さあ、未知の扉を開こう!
- この記事を読んだら、こんな「スゴイこと」ができるようになるよ!
- ねぇ、これって誰向けの記事なの?
- どんなBotを作るの?(完成形をイメージ!)
- 今回使う「秘密道具」たち
- さあ、Botを「爆誕」させよう!🎉
6-1 Google Sheetsを「Botの脳みそ」にするぞ!
6-2 LINE Developersで「Botの戸籍」を作っちゃおう!
6-3 Makeで「Botの魂」を吹き込もう! - いざ、動作確認!ドキドキの瞬間!
- 「あれ?動かない?」そんな時の救世主ヒント集!
- まとめと、Botの未来予想図
1. さあ、未知の扉を開こう!
「ノーコード」って聞くと、なんか難しそう…って思いますよね?でも大丈夫!この記事は、そんなあなたの「難しそう」を「え、ちょろいじゃん!」に変えるために書かれました!
Makeを使って、LINEとGoogle Sheetsという、普段使い慣れたツール同士を繋げちゃうんです。するとどうでしょう!LINEでメッセージを受け取って、スプレッドシートから情報を引っ張ってきて、またLINEに返す、っていう一連の流れが、まるで手品のように自動で動いちゃうBotができあがります!今回は東京都のハザードマップ情報を例に、そのとんでもない魔法を体験しちゃいましょう!
2. この記事を読んだら、こんな「スゴイこと」ができるようになるよ!
LINEとAPI連携?「ドラクエの呪文」とか言ってたのに、 「LINE Bot、余裕っしょ!」 ってドヤ顔できちゃう!
Google Sheetsがただの表計算ソフトじゃない! 「Botの最強データベース」 として使いこなせるようになる!
送られてきたメッセージに合わせて、賢く情報を検索して返信する、AIっぽい(?)Botが作れちゃう!
最終的には、LINEで区名を送るだけで、その区のハザードマップURLがピロリンって返ってくる、超便利なマイBotをゲットできる!やったー!🥳
3. ねぇ、これって誰向けの記事なの?(あなたは当てはまる?)
「ノーコードって言葉、最近よく聞くけど、何ができるの?」ってウズウズしてるあなた!
「LINEでなんか面白いことできないかな〜?」って思ってるそこのあなた!
Google Sheetsが大好きで、もっと活用したいと思ってるあなた!
プログラミングはちょっと苦手だけど、「自動化」とか「効率化」って響きに弱くて挑戦したいあなた!
セミナーで「LINE Bot作ってきてね!」って言われて、 「まじかよ!誰か助けて!」 ってなってる、まさに今のあなた!🫵
はい、これ全部当てはまったら、もう運命です!最後までついてきてね!🤝
4. どんなBotを作るの?(完成形をバッチリイメージ!)
こんな感じで、**板橋区のハザードマップのURLが、LINEから自動で返ってくる!**ってBotを作ります。
「え、まじで!?」って思ったでしょ?なるなる、それがノーコードの醍醐味!
5. 今回使う「秘密道具」たち(これらがあれば怖いものなし!)
LINE Messaging API:
みんなが毎日使ってるあのLINE!Botとユーザーがメッセージのやり取りをするための「出入り口」みたいなものだよ!
Make (Integromat):
今回の主役!Google SheetsとLINEを「あっちこっち こっちあっち」って繋いでくれる、まさに魔法のハブ!これを使えば、複雑な流れもブロックを積むように作れちゃうんです。
Google スプレッドシート:
Botが「区名」と「ハザードマップのURL情報」を記憶しておくための最強のメモ帳!ここに情報を入れておけば、Botはいつでも必要な情報をサッと取り出せるんだ。
6. さあ、Botを「爆誕」させよう!🎉(いよいよ本番!)
ここからは、実際にあなたの手でBotを産み出すための、具体的なステップを説明していくよ!頑張ろう!
6.1. Google Sheetsを「Botの脳みそ」にするぞ!
Botが「〇〇区」って言われたときに、「ああ、あの区のマップね!」ってすぐに分かる
ように、区の情報とハザードマップのURLに必要な情報をまとめておく場所を作ります。これがBotの賢さの源!①新しいGoogle Sheetsを爆誕!:
・Googleドライブにアクセスして、「新規」→「Google スプレッドシート」で新しいシートを作ってね!
②見出しを書こう!:
・1行目に、これからBotが使う情報を入れるための「引き出し」の名前をつけます。これをMakeが読み込んでくれるから、正確にね!
・区名_漢字 (例:千代田区),区名_ひらがな (例:ちよだく),
・municipalityCd (ハザードマップのURLにこっそり隠れてる区ごとの特別な番号だよ!)
・11_param (地図の「真ん中」をどこにするか、緯度経度の情報が入るよ!超大事!)
・z_param (地図を「どれくらい拡大して見せるか」のズームレベル!これも大事!)
③区の情報を入力しよう!:
・2行目からは、Botに対応させたい東京都の区の情報をどんどん入れていこう!
municipalityCd
、ll_param
、z_param
の探し方:
・まずは「東京都防災ホームページ ハザードマップ」で検索して、目的の区のハザードマップを表示してみてね。
・ブラウザのアドレスバーに表示されているURLをよーく見てみて!
municipalityCd= の後ろの数字がmunicipalityCd!
11= の後ろから、%2Cも含めて次の&までがll_param!
z= の後ろの数字がz_param!
例: 千代田区のURLが https://map.bosai.metro.tokyo.lg.jp/?l=...&11=35.687486528333565%2C139.75633108336302&z=14&municipalityCd=131016 だったら…
11_param
に 35.687486528333565%2C139.75633108336302
z_param
に 14
municipalityCd
に 131016
って入れるんだよ!ちょっと手間だけど、ここさえ乗り越えればゴールは近い!
頑張って自分で調べて入れてね!)
6.2. LINE Developersで「Botの戸籍」を作っちゃおう!
みんなのLINEに「あなたのBot」として登場させるために、まずはLINE Developersっていう場所で、Botの基本情報を登録します。ここが、あなたのBotの「住民票」みたいなものかな!
① LINE Developersコンソールにログイン!: https://developers.line.biz/console/
まずはここへ!もしブックマークしてなかったら、今しちゃおう!
② プロバイダーを作成:
初めての人は、まず「プロバイダー」っていうBotの「親」みたいなのを作ります。あなたの好きな名前(例:ハザードマップBotカンパニーとか、あなたのニックネームとか!)をつけてね!
③「Messaging API」チャネルを爆誕!:
「新規チャネル作成」をクリックして、「Messaging API」を選んでください。
Botの名前(例: 「東京ハザードマップBot」)、アイコン、説明などをモリモリ入力して、作成を完了させちゃおう!
④ チャネルアクセストークンをゲット!:
作ったチャネルの「Messaging API設定」タブを開いてみて!
「チャネルアクセストークン」っていう、なんか魔法の呪文みたいな文字列があるはず!その横にある「発行」ボタンをポチッとして、出てきた呪文を速攻でコピーしておいてね!これはMakeでLINEとBotを繋ぐための、超〜大事な鍵だからね!🔑
⑤ Webhook設定:
「Webhookの利用」はスイッチをオンにしておいてね!
「Webhook URL」は、この時点ではまだ空欄でOK!Makeでシナリオを作った後で、ここにMakeから発行されるURLをコピペすることになります。
⑥ 応答設定を調整!:
「応答メッセージ」はオフに設定してね!これは、Make側でBotの返信を全部コントロールするため。ここがオンだと、LINEくんが勝手に返信しちゃって、Makeが頑張って作った返信が無駄になっちゃうから、気をつけて!
「あいさつメッセージ」もオフにしておくと、Botがスッキリするよ!
⑦ Botと友達になろう!:
「Messaging API設定」タブにある「友だち追加QRコード」をスマホでピッと読み込んで、自分のLINEアカウントでBotを友だち追加しておきましょう!これで、テストがめちゃくちゃはかどりますよ!👍
6.3. Makeで「Botの魂」を吹き込もう!
さあ、いよいよMakeでの本番作業です!ここが一番ワクワクするよ!GoogleスプレッドシートとLINEを、まるで磁石みたいに引き合わせて繋げちゃいます!
イメージとしては、添付してくれたこの画像みたいに、ブロックを繋いでいく感じだよ!
① 新しいシナリオをスタート!:
Makeにログインして、「Create a new scenario」をクリック!新しい真っ白なキャンバスが現れるはず!
② モジュール1: LINE - Watch Events(LINEからのメッセージをキャッチ!)
・真ん中にある大きな「+」を押して、「LINE (LINE)」を選び、「Watch Events」をポチッと選択!これが、LINEから送られてくるメッセージをキャッチしてくれる「耳」の役割だよ。
・設定:
「Add a hook」をクリックして、新しい接続を作ろう。ステップ6.2でコピーしておいたチャネルアクセストークンをペーストして、接続設定を保存!
接続が成功すると、MakeがWebhook URLっていう、謎の長いURLを発行してくれるはず!これをコピーして、**ステップ6.2のLINE Developersの「Messaging API設定」に戻って、「Webhook URL」の空欄に貼り付けて「更新」**してくださいね。これでLINEとMakeの連携がガッチリ確立!
③ モジュール2: Google Sheets - Search Rows(Botの脳みそ検索!)
LINEモジュールの右にある丸い「+」をクリックして、「Google Sheets」から「Search Rows」を選択!これが、さっき作った「Botの脳みそ(スプレッドシート)」の中から、ユーザーが欲しい情報を探し出してくる「目」の役割だよ。
・設定:
・Connection: あなたのGoogleアカウントを繋いでね。これでMakeがスプレッドシートを見れるようになるよ。
・Spreadsheet: ステップ6.1で作成した「TokyoHazardMap_Data」を選ぼう。
・Sheet: データが入っているシート(だいたい「Sheet1」って名前かな?)を選んでね。
・Table Contains Headers: 「Yes」にしておこう。(1行目が見出しだよ、って教えてあげる感じ)
・Filter: ここが一番頭を使うけど、超重要!ユーザーが送ってきたメッセージ(LINEモジュールから来たmessage.text
)が、シートの「区名_漢字」か「区名_ひらがな」に含まれてるかをチェックする条件を設定するよ!
・[項目名] 区名_漢字 (スプレッドシートの列名だね!)
・[演算子] Contains (case-insensitive)
(「大文字小文字区別しないで、これを含んでるか?」って意味だよ)
・[値] {{1.message.text}}
(左側のLINEモジュールからmessage.text
をドラッグ&ドロップするか、入力欄の右の緑の吹き出しアイコンから選んでマッピング!これがスマートなやり方だよ!)
・「Add OR rule」 ボタンをクリックして、もう一つOR条件を追加!これで「漢字かひらがな、どっちでもOK!」になるよ。
・[項目名] 区名_ひらがな
・[演算子] Contains (case-insensitive)
・[値] {{1.message.text}}
・Limit: 1
(もし同じ名前の区があっても、最初の1件だけ探してね、って意味だよ!)
④ モジュール3: Router(Botの判断力!)
・Google Sheetsモジュールの右にある「+」をクリックして、「Tools」から「Router」を選択!これが、Botが「うん、わかった!」って時と、「え〜、ごめん、わかんない!」って時で、返信する内容を変えるための「判断力」の役割だよ。
⑤ ルート1: 検索結果が見つかった場合(ハザードマップURLを元気よく返信!)
・ルーターから伸びる最初の分岐の先に、またLINEモジュールを引っ張ってきて「Send a Reply Message」を選ぼう。
・ルートにフィルターを設定:
・ルーターから伸びるこのルートの線の上にある「漏斗(じょうご)」アイコンをクリックして、条件を設定するよ!
・[Condition] Google Sheets - Search Rows
の出力にある _totalNumberOfBundles
を選択。
・[演算子] Numeric operators: Greater than or equal to
を選択。
・[値] 1
(「Google Sheetsで検索結果が1件以上見つかったら、このルートを通ってね!」ってことね!)
・LINE - Send a Reply Message の設定:
・Connection: 既存のLINE接続を選んでね。
・Reply Token: LINE - Watch Events
モジュールから replyToken
をマッピング!これで「誰に返信するの?」がわかるよ。
・Message: ここが一番ワクワクする瞬間!ユーザーに返すメッセージと、ハザードマップのURLを組み立てるよ!
・【超絶・重要ポイント!】: {{2.ll_param}}
とか{{2.z_param}}
、{{2.municipalityCd}}
っていう緑色の文字のところは、絶対にキーボードで手打ちしないこと! 入力欄の右にある緑色の吹き出しアイコンをクリックして、表示されるリストの中から**「Google Sheets - Search Rows」モジュールの出力にある、対応する項目(例:11_param
)を直接ポチッと選択**して挿入してくださいね。これを間違えると、URLの中に「{{11_param
}}」という文字がそのまま入っちゃって、地図が表示されない悲劇が起きちゃうからね!気をつけて!⚠️
⑥ ルート2: 検索結果が見つからなかった場合(「ごめんね」メッセージで優しく返信)
・ルーターのもう一方の分岐の先に、またLINEモジュールを引っ張ってきて「Send a Reply Message」を選ぼう。
・ルートにフィルターを設定:
・このルートの:線の上にある「漏斗(じょうご)」アイコンをクリックして、条件を設定するよ!
・[Condition] Google Sheets - Search Rows
の出力にある _totalNumberOfBundles
を選択。
・[演算子] Numeric operators: Equal to
を選択。(ここが前回「テキスト比較」でミスしやすいとこだったよ!今回は「数値比較」のEqual to
を選んでね!)
・[値] 0
(「Google Sheetsで検索結果が0件だったら、こっちのルートを通ってね!」ってことね!)
・LINE - Send a Reply Message の設定:
・Connection: 既存のLINE接続を選んでね。
・Reply Token: LINE - Watch Events
モジュールから replyToken
をマッピング!
・Message:
🤔 うーん、ごめんなさい!🙇♀️
ご指定の区のハザードマップ情報は、まだ僕(Bot)のデータベースにないみたいです…!
それか、もしかしたら入力がちょっと違ったかも?
対応している区名(例:板橋区、練馬区、千代田区など)で、もう一度試してみてくれると嬉しいな!✨
⑦.シナリオの保存とON化:
画面下部にある「Save」ボタン(フロッピーディスクのアイコンだよ!)をクリックして、作ったシナリオを保存!これで安心だね。
シナリオが完成したら、画面下部のスイッチをONにします。これで、あなたのBotがインターネットの海で稼働開始!🎉
7. いざ、動作確認!ドキドキの瞬間!(Botがちゃんと動くかチェック!)
さあ、いよいよクライマックス!あなたが作ったBotがちゃんと動くか、実際にLINEで試してみよう!ドキドキするね!
① 自分のLINEで、 Botに「板橋区」と入力して送信してみよう!
・ねぇ、見て見て!板橋区のハザードマップURLがちゃんと返ってきたでしょ!?クリックして、正しく板橋区の地図が出てくるか確認してね!
② 次に「練馬」と「ひらがな」で入力して送信してみよう!
・ひらがなでもちゃんと動くか、確認してみてね!賢いBotだから大丈夫なはず!
ここまで完璧に動けば、あなたのBotはもうプロトタイプとしては大成功!パチパチパチ👏
シナリオの全体像はこれだ!!
これだけ語っといてこれだけかい
8. 「あれ?動かない?」そんな時の救世主ヒント集!(困った時はここ!)
Botが動かない…「え、なんで!?」ってなりますよね。大丈夫!よくある落とし穴と解決策を教えちゃう!
・RuntimeError: [400] Invalid reply token
エラーが出る場合:
・LINE Developersの応答設定、マジ確認!:「応答メッセージ」と「あいさつメッセージ」がオフになってるか、もう一度だけ確認して!ここがオンだとLINEが先に動いちゃって、MakeのReply Tokenが無効になっちゃう悲劇が起こるよ。
・LINEモジュール、増えすぎてない?: Makeのシナリオの中に、同じ「Send a Reply Message」モジュールが複数あったりしない?LINEのReply Tokenは、一度しか使えないから、複数回返信しようとするとエラーになるよ。
・Makeの処理、遅すぎない?: Makeのシナリオが動くのが遅すぎて、LINEのReply Tokenの有効期限(たったの30秒!)を超えちゃってる可能性も!Makeのシナリオ実行履歴(History)で、処理に時間がかかりすぎてないかチェックしてみよう。
・URL内の{{シート 1 ...}} がそのまま表示されちゃう!または地図が正しく絞り込まれない!:
・Makeでの変数マッピング、やり方合ってる?: 「LINE - Send a Reply Message」モジュールの「Message」フィールドで、11_param
やz_param
、municipalityCd
などの変数を、緑色の吹き出しアイコンからGoogle Sheetsモジュールの出力を直接選んで挿入した?手打ちすると、ただの文字になっちゃうから気をつけてね!
・Google Sheetsの列名、間違ってない?: スプレッドシートの列名(例: 区名_漢字)と、Makeでマッピングしようとしてる変数名が、一字一句完全に一致してるか確認して!半角スペースとかも要注意だよ。
・ルーターの分岐がうまく動かない!:
・フィルターの演算子、ちゃんと「数値」にしてる?: ルーターのフィルター条件で、Google Sheets - Search Rows
の出力_totalNumberOfBundles
の比較に 「Numeric operators」 を使ってるか、もう一度見てみて!「Text operators」を使っちゃうと、数値の比較が正しくできないんだ。これ、よくある間違いだから気をつけて!
9. まとめと今後の展望(あなたのBotは、もっとスゴくなる!)
どうでしたか?Make、LINE Messaging API、Google Sheetsを組み合わせることで、プログラミングの知識がなくても、こんなに賢くて便利なBotを構築できるなんて、ちょっと感動しませんか!? あなたもこれで、立派なノーコード開発者の仲間入りです!
今回のハザードマップ検索Botをベースに、あなたのBotは、まだまだ進化の可能性を秘めています!例えば…
・気象情報調査機能の追加:
「〇〇区の天気は?」って聞いたら、その日の天気や気温を教えてくれるお天気お兄さん/お姉さんBotに変身!
・道路交通量調査機能の追加:
「〇〇道の交通量教えて!」って聞いたら、リアルタイムの混雑状況を教えてくれる交通情報Botに!これで通勤・通学もスムーズに!?
・リッチメニューで楽々操作!:
LINEのトーク画面下に出る、あのオシャレなボタン(リッチメニュー)を使って、文字を入力しなくてもサッと操作できるように改良!
・Flex Messageで見やすい情報表示!:
ただのテキストじゃなくて、画像やボタン、カルーセル形式など、もっとリッチで視覚的にわかりやすいメッセージで情報を届けるBotに!「え、これLINE Botなの!?」って驚かれるかも!
ぜひこのガイドを参考に、あなただけのオリジナルBotをどんどん作ってみてくださいね!そして、さらなる機能拡張にもチャレンジして、ノーコードの可能性を最大限に引き出しましょう!無限の可能性が、あなたを待っています!🚀✨