申込が来た瞬間、ポケットのLINEが鳴る|GASはGoogleの塀の外へも知らせを運べる【基礎編】

ロボットが柵越しに緑の封筒を飛ばし女性のポケットのスマホにLINE通知が灯るイラスト つまずき帳

「受け付けました」の上から、LINEの通知が降りてきた

いきなりですが、今回いちばん驚いた場面からお話しさせてください。

仕上げの本番テストで、スマホから受付ページを開き、架空の申込をひとつ送信しました。お名前は山田 太郎さん、参加は3人、ひとことに「当日は、よろしくお願いいたします。」。送信ボタンを押すと、いつものお礼のカード——「受け付けました」——が画面に出ます。ここまでは、見慣れた景色です。

その直後でした。同じ画面の上のふちから、LINEの通知バナーがすっと降りてきたんです。「受付係/■ 新しい申込 お名前:山田 太郎(3人)……」。

お礼のカードと、LINEの通知。申し込んだ人が見る画面と、受け付けた側に飛ぶ知らせ。本来なら別々の人のスマホで起きる2つの出来事が、今回は自分ひとりで両方の役をやっているので、スマホの1画面に同居しました。頭では「そうなるはず」と分かっていたのに、実際に目の前で重なると、思わず二度見しました。

お礼カード受け付けましたの上にLINEの通知バナーが同時に表示されたスマホ画面
お礼カード「受け付けました」の上から、LINEの通知バナーが降りてきた瞬間。本来は別々の人のスマホで起きる2つの出来事が、両方の役を自分がやったので1画面に同居しました(申込は架空のサンプルです)。

ここで、気づいたことがあります。この受付ページの教材で、申込が来たときの知らせは、これまでもありました。確認メール、質問のアラート、毎朝のまとめ。でも、それはぜんぶ「メール」でした。メールはGoogleの中の道具ですから、知らせはずっとGoogleの敷地の中を回っていたことになります。

今回初めて、知らせがGoogleの塀を越えました。行き先は、一日に何十回も見る、ポケットの中のLINEです。

結果から言います = GASは、Googleの塀の外へも、自分から知らせを運べた

今回いちばん伝えたいことを、先に言ってしまいます。

GASは、Googleの塀の外にあるサービス——今回はLINE——に自分から話しかけて、知らせを運べる。

分解すると3つです。①引き金は時計ではなく出来事——申込が来た、その瞬間。②行き先はGoogleの外——LINEという、別の会社のサービス。③そしてGASのほうから自分から話しかけに行く——向こうが取りに来てくれるのを待つのではなく。

今回も、受付ページが高機能になった、という話ではありません。受付ページは、この形を試すのにちょうど手元にあった練習台です。持ち帰ってほしいのは「Googleの外のサービスと、GASは手がつなげる」という形そのもの。今回の相手はLINEでしたが、外に向けて口を開けているサービスなら、相手を替えて同じ形が使えます。

そして毎度のことですが、わたしはコードを一行も書いていません。 AIに頼んで、返ってきたものを貼って、動かしただけです。

今日の一点:⑥「つなぐ」——7つの引き出しの、最後の1本

このブログでは「GASでできること」を、①集める ②知らせる ③書類 ④AI ⑤定期 ⑥つなぐ ⑦自分の画面——という7つの引き出しにたとえて、一つずつ開けています。この受付ページの教材では、⑦受付ページ、②確認メール、③控えPDF、①ドライブ保存、④AI仕分け、⑤毎朝まとめと、6本を開けてきました。今日は⑥「つなぐ」——Googleの外のサービスと手をつなぐ。つまり、この教材の最後の1本です。

ここで、正直に線引きをしておきます。「LINEに送る」こと自体は、じつはこのブログの得意技のひとつで、すでに何度も書いています。だから、今日は何が違うのかを、先にはっきりさせます。

  • フォームの回答をLINEに通知する回。今回にいちばん近いのは、この回です。ただ、あのときはGoogleの既製フォームからの単発通知で、合鍵(トークン)はコードの先頭に直書きしていました。今回は、自作のWebアプリの五段構え——記録・確認メール+控えPDF・ドライブ保存・AI仕分け——の最終段に組み込みます。そして合鍵はコードに書かず、金庫(スクリプトプロパティ)へ。送る仕組みだけでなく、合鍵の持ち方も進化しています。なお、つなぎ口(LINE公式アカウント)の作り方そのものは、あの回に全手順を画像つきで置いてあるので、今日はなぞり直しません。
  • LINEリマインダーの回・キーワードニュースの回。どちらも引き金は時計でした——決まった時刻に、向こうから届く。今回の引き金は出来事——申込が来た、その瞬間です。
  • LINEと双方向の回。あれはLINEから受け取る側の話。今回はLINEへ送る側の、いちばん小さい形です。

今日新しいのは、2つ。(a)「出来事を引き金に、その瞬間、Googleの外へ運ぶ」形を、五段構えの中に組み込んだこと。(b)そして——つまずき帳でくわしくお話しする、「Googleの外の“新しい相手”に、許可なしで話しかけられた」という発見です。

しくみ:五段構えの最後尾に、“ポケットへの伝令”を1人

中身は読まなくて大丈夫なのですが、設計の考え方だけ、種明かしをしておきます。

足したのは、五段構えの最後尾です。 申込が来ると、(1)シートに記録 → (2)確認メール+控えPDF → (3)ドライブ保存 → (4)AI仕分け → (5)LINEへ1通、の順に動きます。大事なのは、それぞれの段が互いに独立していること。LINEの調子が悪くて5段目が倒れても、前の4段は無傷——申込は1文字も失われません。LINEは、申込に気づくための伝令であって、申込を預かる台帳ではない。だから最後尾に置く。この並べ方は、この教材でずっと守ってきた設計です。

送り方は「broadcast」=実質、自分専用回線。 フォーム通知の回と同じ方式です。意味は「友だち全員に送る」。この公式アカウントの友だちは自分ひとりなので、「全員に送る」=「自分にだけ届く」。宛先のIDという長い文字列を調べて指定する工程が、まるごと不要になります。

運ぶ1通は、わざと短くしてあります。 お名前・人数・ひとこと(それに受付時刻)だけ。メールアドレスは載せません。 確認メールは申込者あて、LINEは自分あて、という役割分担。細かい内容はシートと毎朝のまとめで見られるので、ポケットの通知に個人情報をむやみに増やさないためです。

合鍵は金庫へ。 LINEの合鍵(チャネルアクセストークン)は、コードに書かず、スクリプトプロパティという金庫に「LINE_TOKEN」という名前でしまい、コードは名前で読みに行きます。AI仕分けの回で、Geminiの鍵をしまったのと同じ持ち方。2回目なので、もう慣れたものでした。この持ち方なら、コードを丸ごと人に見せても、合鍵は漏れません。

そして、粘りません。 申込者は、画面の前でお礼のカードを待っています。だからLINE送信は、失敗してもやり直しに行かず、すっと諦めて記録だけ残す作りです。それでも送信のぶん、お礼画面はもう一瞬(1秒弱)だけ延びます。ここは正直に書いておきます。

つまずき帳:今回は3つあります

つまずき①:つなぎ口は、“もう1つ作る”が正解でした。

じつはわたしの手元には、キーワードニュースの回で作った公式アカウント(毎朝のニュース配信用)がすでにあります。その合鍵を使い回しても、動くには動きます。でも、無料で送れる月200通の枠は、公式アカウント(チャネル)ごと。受付用に「受付係」というアカウントをもう1つ作れば、毎朝の配信と枠を分けられます。おまけに、通知のトークも用件別に分かれて見やすい。作り方はフォーム通知の回のなぞりで、10〜20分でした。

つまずき②:新しい相手なのに、許可画面が出ない。

今回いちばんの発見です。Googleの外のLINEに話しかけるのだから、初回はまた新しい許可画面だろう——そう身構えて実行したら、何も出ないまま完了しました。種明かしはこうです。AI仕分けの回で握った「外部サービスへの接続」という許可は、相手を選びません。「Geminiへの接続を許可」ではなく「外部サービスへの接続を許可」——つまりこの許可は接続先ごとではなく、プロジェクトごと。1度握れば、塀の外のどこへでも話しかけられます。このプロジェクトにとって、塀の外の相手はGeminiに次いで2人目。1人目のときの通行証が、2人目のLINEにもそのまま効いたわけです。許可なしで進める回は控えPDFの回以来2回目ですが、あちらはGoogleの敷地の中で、持っている力の範囲に収まった話。外の“新しい相手”に、許可なしで話しかけられたのは今回が初めてです。許可の図鑑に、「出なかった」という1ページが挟まりました。

つまずき③:テストは鳴るのに、本番で鳴らない——公開し直し忘れ。

今回さわる場所には、罠が1つあります。テスト関数は“いま保存されている最新のコード”で動くのに、本番の受付ページは公開(デプロイ)済みの版のまま動き続ける——毎朝まとめの回で覚えた“2つの顔”です。あの回は「保存するだけでいい」という嬉しい側でしたが、今回はその逆側を踏みます。申込を受け取る本流に1行手を入れたので、公開し直し(再デプロイ)をしないと、本番の申込ではLINEが鳴りません。テストで鳴ったからと安心して閉じると、ここで止まります。

そして、これまでの回を並べると、きれいな学びが完成します。

  • 控えPDFの回:新しい許可は不要。でも公開し直しは必要
  • 毎朝まとめの回:新しい許可が必要。でも公開し直しは不要
  • 今回:新しい許可は不要。でも公開し直しは必要

「許可」と「公開し直し」は、別々のダイヤルなんです。許可のダイヤルは「新しい“種類”の力を使うか」で回る——相手が新顔かどうかでは回りません。公開し直しのダイヤルは「公開中のページが通る道に手を入れたか」で回る——足した量の多い少ないでは回りません(⑤定期は関数をいくつも足して不要、今回は本流への1行で必要)。この2つを別々に見られるようになれば、「保存だけでいいの?公開し直すの?」で迷うことは、もうありません。

作り方の体験:つなぎ口を作って、金庫にしまって、貼って、公開し直した

1. 公式アカウント「受付係」を、もう1つ作る

フォーム通知の回の手順をなぞって、受付用の公式アカウント「受付係」を新しく作り、送信口(Messaging API)をオンにして、合鍵を発行します。QRコードをスマホで読み取って友だち追加すると、あいさつのメッセージがひとりでに届きます(びっくりしますが、正常です)。ここまでで10〜20分。

2. 合鍵は金庫へ——2回目なので、もう慣れたもの

発行した合鍵を、プロジェクトの設定にあるスクリプトプロパティへ、「LINE_TOKEN」という名前でしまいます。金庫の中で、Geminiの鍵の隣にLINEの合鍵が並びました。コードには書かない。この持ち方も、2回目になると手が覚えています。

3. 『テスト_LINE接続』——許可画面が出ないまま、1秒で完了

AIが返してくれたコードに貼り替えて保存し、まず“つなぎ口だけ”を試す関数『テスト_LINE接続』を実行します。つまずき②に書いたとおり、身構えていた許可画面は出ないまま——実行ログには「実行開始 6:48:34」「実行完了 6:48:35」。1秒です。そして、ポケットの中でスマホが鳴りました。「■ 受付ページ LINE接続テストです。これが届けば、つなぎ口の設定はOK」。GoogleとLINEが、握手した音でした。

許可画面が出ないまま実行開始と実行完了だけが並ぶ実行ログ
『テスト_LINE接続』の実行ログ。許可画面が出ないまま「実行開始→実行完了」の2行だけ——④の回で握った「外部サービスへの接続」の許可が、新顔のLINEにもそのまま効きました。

4. 『テスト_申込でLINE』——成功のしるしは5つ

次に、申込テストの関数で、五段構えを全部通します。成功のしるしは5つ。(1)シート『申込一覧』に1行 (2)確認メール+控えPDF (3)ドライブに控え (4)「AI仕分け」列に「あいさつ」の札 (5)スマホのLINEに「■ 新しい申込 お名前:テスト 太郎(1人)……」。最後の1つが、今回の新顔です。そしてここまでぜんぶ、公開し直しの前に確かめられました——テストは保存版で動くという“2つの顔”の、便利な側です。

シート申込一覧にテスト申込の行がAI仕分けまで揃っている
テスト申込の行。受付日時から「AI仕分け」列の「あいさつ」まで、五段構えの前半がすべて揃っています(メールは伏せています)。

5. 公開し直して、スマホから本番——冒頭の場面へ

仕上げに、公開し直し(再デプロイ。今回でバージョン6になりました)をして、スマホから本番の申込を送ります。その結果が、冒頭の場面です。「受け付けました」のカードの上から、LINEの通知バナーが降りてくる。トークを開くと、「受付係」との画面には、接続テスト・テスト申込・本番申込の3通が並んでいました。今日開けた引き出しの中身は、この3通に全部入っています。

LINEトーク受付係に接続テストとテスト申込と本番申込の3通が並ぶ
LINEトーク「受付係」の全景。接続テスト(6:48)→テスト申込(6:50)→本番申込(6:57)の3通。今日開けた引き出しの中身は、この3通に全部入っています(宛名は伏せています。申込は架空のサンプルです)。

正直に、これはできません

最終回も、できないことを盛らずに置いておきます。

  • 「友だち全員に届く」仕組みです。 「受付係」のQRコードを人に教えると、その人にも申込の通知が届いてしまいます。申込者のお名前が流れるので、このQRは自分だけの秘密にしてください。なお、申込者に案内する受付ページのURLとは別物です。配るのは受付ページのURL、しまっておくのは受付係のQR——と覚えてください。
  • 無料で送れるのは月200通です。 1申込=1通。講座やイベントの受付なら十分ですが、大量の申込が飛び込む用途には向きません。
  • お礼画面が、もう一瞬延びます。 AI仕分けに続いて、2度目の正直です。粘らない設計にして、延びは1秒弱に抑えてあります。
  • LINEの通知が落ちることは、ありえます。 そのときも、記録・メール・控え・仕分けの4段は無傷です。LINEは気づくための伝令であって、台帳ではありません。申込そのものは、シートに全部残っています。

7つの引き出しが、ぜんぶ開きました

今日で、⑥「つなぐ」が開きました。この受付ページの教材で開けてきた7本を、1行ずつ並べてみます。

  • ⑦自分の画面:ブラウザで開ける受付ページを、自分で持てた
  • ②知らせる:申し込んだ人へ、確認メールがひとりでに返るようになった
  • ③書類:申込内容が、1枚の控えPDFになった
  • ①集める:控えが、ドライブの1つのフォルダに集まるようになった
  • ④AI:「ひとこと」を、AIが読んで札を付けるようになった
  • ⑤定期:誰も見ていなくても、毎朝のまとめが届くようになった
  • ⑥つなぐ:申込が来た瞬間、Googleの外——ポケットのLINE——が鳴るようになった

「受付システムが完成しました」とは、言いません。この受付ページは、7つの引き出しを1本ずつ開けるための、ちょうどいい練習台でした。この7本は、積み上げる塔ではなく、横に並ぶ引き出しです。1本だけ開けても使えるし、2本、3本と組み合わせてもいい。

そろったのは、システムではなく地図です。「GASでできること」が、7つの引き出しとして手元に並びました。ここから先は、あなたの困りごとに合わせて、開ける引き出しを選んで、組み合わせるだけ。届いたものに気づきたいなら②か⑥。書類仕事を減らしたいなら③。読む仕事を減らしたいなら④。毎朝・毎週の見回りなら⑤——。

長い教材に、最後までお付き合いいただき、ありがとうございました。この地図が、あなたの「定時」を少し早くしますように。


*※この記事の操作はすべて無料枠の範囲で行っています。画面の名前・アカウント名・メールアドレス・トークン・各種ID/URL・申込内容の個人情報は、マスクまたは架空のサンプルに差し替えています。LINEの無料プランの通数や画面・許可画面の表示は時期や環境により変わることがあるため、最新の内容はご自身の環境でご確認ください。*

#定時で帰る開発部 #自動化レシピ #基礎編 #GAS #LINE通知 #つまずき帳

タイトル案(3つ)

  1. 申込が来た瞬間、ポケットのLINEが鳴る|GASはGoogleの塀の外へも知らせを運べる【基礎編】
  2. 「受け付けました」の上から、LINEの通知が降りてきた|最後の引き出し「つなぐ」を開ける【基礎編】
  3. 新しい相手なのに、許可画面が出なかった|GASはGoogleの外のLINEにも自分から話しかける【基礎編】

コメント

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