Googleフォームの回答をLINEに自動通知【LINE Notify終了後もコピペOK】

ロボットが、緑色のチャット通知が光るスマートフォンを女性に手渡しているイラスト つまずき帳

スマホは一日に何十回も見るのに、メールは、そんなに開かない。わたしは平日、ほぼこれです。授業に出て、移動して、また教室。すきま時間にスマホをちらっと見ることはあっても、メールボックスを開いて未読の山を掘る余裕まではありません。気づくのは夜、パソコンの前に座ってから。

前回、フォームの回答を自動でメール通知する仕組みを作りました(手順はこちら → Googleフォームの回答を“中身ごと”自動でメール通知【コピペOK・コードは書けなくて大丈夫】)。あれで「何度も見にいく」は無くなりました。ただ、しばらく使ってみて、次の本音が出てきたんです。

メールだと、埋もれる。

通知は来ている。でも、ほかのメールに紛れて、結局気づくのが遅れる。ほしいのはポケットの中で「ピコッ」と鳴る、あれです。つまり——LINE。

ここで、調べた人ほどハマる落とし穴があります。「フォーム LINE 通知」で検索すると、LINE Notify を使う解説がいまもたくさん出てきます。かつての定番でした。でも、LINE Notifyは2025年3月31日でサービスを終了しています。古い記事のとおりに進めても、もうたどり着けません。「あ、終わったのか。じゃあ無理か」と、そっとタブを閉じた人もいると思います。わたしも調べはじめてすぐ、この「終了しました」にぶつかりました。

先に結論を言います。今でも、できます。 いまの公式な代替ルートは「LINE公式アカウント+Messaging API」。Messaging APIは“外のプログラムから、このアカウントにメッセージを送らせるための送信口”くらいの意味で、名前は難しそうですが、オンにするだけで使えます。中身の理解は要りません。今日はその最新手順を置いていきます。2026年6月に、わたしが実機でゼロから全部踏みました。このとおりやれば、同じものが作れます。

例によって、わたしはコードを1行も書いていません(この方針のいきさつは創刊号に書きました)。書いたのはAI。わたしは貼って、押しただけ。費用はすべて無料(GoogleアカウントとLINEアカウントがあればOK)。所要は20分くらい——前回より少し長いのは、LINE側で「公式アカウント」をひとつ作る工程が入るからです。そこも画像つきで、一緒にやりましょう。

まず、完成形から:Googleフォームの回答がスマホのLINEに届く

スマホのLINEに届いた通知。回答の中身が項目ごとに並んでいる
↑ 完成形。フォームに回答が来ると、スマホのLINEにこれが届きます。

Googleフォームに誰かが回答した瞬間、スマホのLINEにこれが届きます。回答が来たことだけじゃなく、中身が項目ごと——いつ、誰が、どんな用件か——まで、その場で読めます。スプレッドシートを見張る必要も、メールに埋もれるのを待つ必要もありません。

この記事は前回(メール通知版)の続きですが、今回新しく登場するLINE側の手順は、この記事だけで完結します。フォームの作り方・回答先スプレッドシートへのつなぎ方・Apps Scriptの開き方といった土台だけは、前回の記事に画像つきでまとめてあるので、初めての方はそちらからどうぞ。

作戦会議:LINE Notify終了後の代替は「LINE公式アカウント+Messaging API」

仕組みはシンプルです。お店の予約やクーポンで見かける、あの緑の「LINE公式アカウント」。あれを自分専用にひとつ作り、そのアカウントから自分のLINEへ通知を送らせます。要するに、自動でメッセージを送ってくれるロボット係——以下「ボット」と呼びます——を一台、自分用に雇うイメージです。そのボットに「送って」と合図を出すのが、前回も働いてくれたGoogleの自動係さん(GAS=Google Apps Script)です。

送り方は「broadcast」という方式を使います。意味は「友だち全員に送る」。……全員?と一瞬構えますが、この公式アカウントの友だちは自分ひとり。だから実質、「自分への通知専用回線」になります。

LINEには「自分のUser ID」という長い文字列を調べて、宛先に指定する方式もあります。broadcastなら、その取得作業がまるごと不要。今回これを選んだいちばんの理由は、この手数の少なさです。

お金の話も正直に。LINE公式アカウントの無料プラン(コミュニケーションプラン)は月200通まで無料。月200通=1日に直すと6〜7通まで送れる計算なので、個人のフォーム通知なら通常は十分です。数え方は「友だちの人数×配信回数」なので、友だちが自分ひとりなら通知1回=1通です。逆に、大量に通知が飛ぶ用途には向きません。

全体の地図はこうです。

  • 前半(LINE側):公式アカウント(ボット)を作る → Messaging APIをオンにする → ボットの「合鍵」を発行する
  • 後半(Google側):コードを貼る → 押す(前回と同じ要領)

では、前半いきます。

手順・前半:LINE側の準備(今回の“新しい部分”はここ)

1. LINE公式アカウントを無料で作る

LINE Official Account Manager(manager.line.biz。LINE公式アカウントの管理サイトです)を開き、普段使っているLINEのアカウントでログインして、アカウントの作成へ進みます。途中で画面が entry.line.biz という入力フォームに切り替わりますが、正常です。アカウント名・メールアドレス・業種などを入力します。未認証アカウントのままでOK、審査も書類も要りません(「認証」はお店などが取る審査つきバッジのことで、今回は不要です)。アカウント名は通知の送り主として表示される名前になるので、自分が分かれば何でも大丈夫です。

ここで、嬉しい誤算がひとつありました。作成が終わった時点で、このアカウントが自分のLINEに「友だち」として自動で追加されていたんです。QRコードを読み取って友だち追加する工程を覚悟していたので、拍子抜けしました。考えてみれば、自分のLINEでログインして作ったのだから、届け先まで自動でつながった——という理屈です。

なお、このときボットから「はじめまして!」といったあいさつメッセージがひとりでに届きます。一瞬びっくりしますが、正常です(止め方は後半の「つまずき先回り」で)。また、作ったアカウントの管理画面に初めて入るときには「情報利用に関する同意」という画面が出ます。内容を確認して同意すると、先に進めます。

2. Messaging APIをオンにする

管理画面の「設定」→「Messaging API」→「Messaging APIを利用する」と進みます。

途中で「プロバイダー」の新規作成を求められます。聞き慣れない言葉ですが、要は「これを作ったのは誰か、という名義」のこと。わたしは「定時で帰る開発部」にしました。ご自分の名前でも大丈夫です。

LINEのプロバイダー選択ダイアログ
↑ プロバイダー(=作った人の名義)を新規作成。名前は自分が分かればOK。

プライバシーポリシーと利用規約のURLも聞かれますが、任意なので空欄でOK。そのまま確認へ進みます。

Messaging API利用の確認ダイアログ
↑ 確認画面。内容を見て進めば、Messaging APIが有効になります。

ステータスが「利用中」になれば、この工程は完了。画面に「Channel ID」という番号が表示されますが、今回は使いません。「Webhook URL」という欄も空欄のままでOKです(今回のbroadcast方式では使いません)。

Messaging APIのステータスが利用中になった画面
↑ ステータスが「利用中」になれば成功。Webhook URLは空欄のままで大丈夫。

3. ボットの「合鍵」を発行する

つぎに LINE Developersコンソール(developers.line.biz。開発者向けの管理サイトです)へ。普段のLINEアカウントでログインすると、さっき作ったプロバイダー名(例:定時で帰る開発部)が並んでいるので、それをクリック → 中にある公式アカウント名(チャネル)をクリック。さっきMessaging APIをオンにしたことで、ここに今回のボットの管理ページができています。

開いたら「Messaging API」タブのいちばん下へ。「Channel access token (long-lived)」(=長く使える合鍵、くらいの意味です)の欄にある Issue(=発行)ボタンを押します。

Channel access token欄のIssueボタン
↑ いちばん下までスクロールして、「Channel access token (long-lived)」の Issue(=発行)を押す。

すると、長い文字列が発行されます。これが「チャネルアクセストークン」です。

……「トークン」。この言葉だけで身構えますよね。わたしも「とうとう本格的なやつが来たぞ」と思いました。でも、実体はただの「ボットの合鍵」です。この鍵を知っている人だけが、このボットに「送って」とお願いできる。だから、扱いは3つだけ。

  • 誰にも見せない(この記事のスクショもマスクしてあります)
  • やることはコピーして、あとでコードの先頭に貼る。それだけ
  • もし流出しても、Reissue(再発行)を押せば古い鍵は無効になります。作り直せる合鍵です
トークンが発行された状態(トークンはマスク済み)
↑ 発行された合鍵(トークン)。誰にも見せないものなので、この画像もマスク済みです。

コピーできたら、LINE側の準備はぜんぶ終わりです。おつかれさまでした。このタブだけは閉じずに、開いたままにしておいてください(このあと、もう一度コピーしに戻ってきます)。ここまでが、今回の新しい部分。ここから先は、前回とほぼ同じ景色になります。

手順・後半:Google側(GAS)は「貼って、押すだけ」

前提として、フォームと回答先のスプレッドシートがつながっている状態から始めます(フォーム作成からApps Scriptを開くまでの手順(前回記事)に画像つきでまとめています)。

4. コードを貼って、合鍵をはめ込む

回答先のスプレッドシートで「拡張機能 → Apps Script」。開いた画面の中身を全部消して、下のコードを丸ごと貼り付け、フロッピーのアイコン(💾)で保存します(貼り付けで起きがちな事故と直し方は、前回の記事の「つまずき②」にあります)。

// === 設定(ここだけ変えればOK)===
const CHANNEL_ACCESS_TOKEN = '';   // ← LINEで発行したトークンを '' の間に貼る

// フォーム送信時に“自動で”動く本体
function onFormSubmit(e) {
  const sheet   = e.range.getSheet();
  const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  const values  = e.values;
  const total   = sheet.getLastRow() - 1;   // 見出しを除いた件数(=通算)

  const lines   = headers.map((h, i) => `${h}:${values[i] || ''}`);
  const message = `🔔 新しい回答が届きました(これで ${total} 件目)\n\n` + lines.join('\n');

  sendLineBroadcast(message);
}

// LINEへ送る(broadcast=友だち全員。友だちが自分だけなら自分に届く)
function sendLineBroadcast(text) {
  UrlFetchApp.fetch('https://api.line.me/v2/bot/message/broadcast', {
    method: 'post',
    contentType: 'application/json',
    headers: { 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN },
    payload: JSON.stringify({ messages: [{ type: 'text', text: text }] }),
    muteHttpExceptions: true
  });
}

// 動作テスト:これを実行すると“今すぐ”LINEにテスト通知が飛ぶ
function テスト送信() {
  sendLineBroadcast('✅ テスト通知です。これが届けば、LINE連携は成功です!');
}

// 最初に1回だけ実行:フォーム送信時の自動発火をセット
function 初期設定() {
  ScriptApp.getProjectTriggers()
    .filter(t => t.getHandlerFunction() === 'onFormSubmit')
    .forEach(t => ScriptApp.deleteTrigger(t));
  ScriptApp.newTrigger('onFormSubmit')
    .forSpreadsheet(SpreadsheetApp.getActive())
    .onFormSubmit()
    .create();
  SpreadsheetApp.getActive().toast('セットアップ完了!フォームに回答するとLINEに通知が届きます。');
}

貼れたら、仕上げです。さっき開いたままにしたLINE Developersのタブに戻り、トークンをもう一度コピーしてください(いまコードを貼ったことで、コピーの中身がコード全文に入れ替わっているからです)。戻ってきたら、先頭の設定行——const CHANNEL_ACCESS_TOKEN = '';''(2つのクォーテーション)の間——に貼ります。両端の ' は消さないでください。終わったら、もう一度保存。

手を入れるのは、ここ1か所だけです。コードが何をしているかを一言でいうと——「回答を『項目:内容』の形に整えて、LINEに送る」。それだけです。今回もこのコードはAIに「フォームの回答が来たら、LINE公式アカウントのMessaging API(broadcast)でLINEに通知するものを作って」とお願いして書いてもらいました。中身が読めなくて大丈夫。このまま貼ってOKです。

5. 「テスト送信」を実行して、一度だけ「許可」する

画面上部の選択メニュー(「デバッグ」の右隣にあるプルダウン。前回と同じ場所です)で テスト送信 を選び、▶ 実行。すると、出ます。「承認が必要です」。

Apps Scriptの承認が必要ですダイアログ
↑ 「テスト送信」実行直後に出る画面。あわてなくて大丈夫です。

ここ、初めてだと手が止まる画面です。わたしも前回そうでした。要点はこれだけ——「権限を確認」→ 自分のアカウントを選ぶ → 許可の画面、と進みます。個人の @gmail.com の場合、途中に「このアプリは Google で確認されていません」という赤っぽい画面が挟まることがありますが、それも正常です(一歩ずつの画像つき解説と赤い画面の抜け方は、前回の記事の「つまずき①」に。前回ご一緒した方は、同じ道です)。

ひとつだけ、今回の新顔がいます。許可の項目に「外部サービスへの接続」が入っていること。GoogleからLINE(Googleの外)へ送り出すための許可で、今回の仕組みにはちゃんと必要なものです。黙ってこわい権限を渡しているわけではありません。

外部サービスへの接続の許可を求める画面
↑ 今回の新顔「外部サービスへの接続」。LINEへ送るために必要な許可です(わたしは前回の許可が生きていたため、チェックボックスなしのこの画面でした)。

最後の画面は、人によって2種類あります。チェックボックスが並ぶ画面が出たら、「すべて選択」にチェック → 続行。つい何もせず「続行」を押したくなりますが、それだと許可が渡らず、動きません。ここが動かない原因のNo.1。今日はこれだけ覚えて帰ってください(職業柄、つい授業の締めになりました)。いっぽう、前回の記事などで一度許可を済ませていると、チェックボックスのない「続行」だけの画面になることがあります。わたしも今回はこちらでした。その場合は、そのまま続行でOKです。

6. LINEにテスト通知が届く=連携成功

許可が終わると、テスト送信が実行されて——ポケットの中で、ピコッ。

テスト送信成功。右上にLINEのデスクトップ通知
↑ テスト成功。PC版LINEに通知が出た瞬間です(スマホにも同じ通知が届いています)。

LINEに「✅ テスト通知です。これが届けば、LINE連携は成功です!」。GoogleとLINEが、いま握手しました。わたしはこの瞬間、画面の前で小さくガッツポーズしました。

7. 「初期設定」を実行する(自動化スイッチON)

いまのテストは「手動で送った」だけなので、最後に「フォームに回答が来たら自動で送ってね」というスイッチを入れます。選択メニューで 初期設定 を選んで、▶ 実行

実行したら、スプレッドシートのタブに切り替えてください。次の表示は、Apps Scriptの画面ではなく、スプレッドシート側の隅に出ます。

セットアップ完了のトースト表示
↑ 「セットアップ完了!フォームに回答するとLINEに通知が届きます。」——スプレッドシート側にこれが出たら、設定はすべて完了。

8. フォームにテスト回答 → 完成

仕上げの確認です。フォームにテスト回答を1件送ります。自分のフォームへは、フォーム編集画面の右上にある目のアイコン(プレビュー)から回答できます。すると——

フォーム回答直後にLINE通知が届いた画面
↑ フォームに回答した直後、LINEに中身ごと届きました。これで完成です。

届きました。「🔔 新しい回答が届きました(これで2件目)」に続いて、タイムスタンプ・お名前・メールアドレス・ご用件が項目ごとに並んでいます。件数は回答シートの累計です(わたしは先にテスト回答が1件あったので「2件目」。初めてなら「1件目」と出ます)。これで完成。以降は、何もしなくてもずっと自動です。

つまずき先回り:わたしが構えた場所・引っかかる場所

LINEに通知が来ないときは、この順番で確認

  1. トークンの貼り間違い。最初に確認するのはここです。コード先頭の ''間に、コピーした文字列がまるごと入っているか。両端の ' を消してしまっていないかも確認を。
  2. 公式アカウントと「友だち」になっているか。broadcastは“友だちに送る”仕組みなので、友だちでないと届きません。わたしの場合は作成時に自動で追加されていましたが、スマホのLINEの友だち一覧に見当たらなければ、LINE Official Account Managerの「友だち追加ガイド」でQRコードを表示し、スマホで読み取って追加してから再テストを。
  3. LINE側の応答設定。①②で直らなければ、LINE Official Account Managerの「応答設定」を開き、「応答モード」が「Bot」になっているかを見てください。わたしは作成時の設定のまま、ここを触らずに届いているので、設定をあれこれ変えた覚えがある場合だけ疑えば大丈夫です。

身に覚えのない「はじめまして!」が届く

手順1でも触れた、ボットからの「はじめまして!……定期的に配信していきます」というあいさつメッセージ。一瞬「え、誰?」となりますが、故障でも乗っ取りでもなく、公式アカウントに最初から入っている自動メッセージです。不要なら、LINE Official Account Managerの「応答設定」からオフにできます(そのままでも害はないので、お好みで)。

「合鍵」の扱いだけ、大人の約束

チャネルアクセストークンは、第三者に見せない。守るのはこれだけです。画面共有やスクショのときはマスクを(この記事の画像もすべてマスク済みです)。万一漏れても、Reissue(再発行)すれば古い鍵は無効にできます。あわてず、鍵を替えれば大丈夫。

これで、何が変わる?

問い合わせに気づく場所が、「夜、パソコンの前」から「その瞬間、ポケットの中」に変わりました。

移動中でも外出先でも、ピコッと鳴って、開けば用件まで見えている。メールの山を掘らなくていいし、「3日前に来てたのに」と血の気が引くこともない。返事が早いというだけで、相手には誠実さとして伝わります。仕組みに任せた結果としてそれが手に入るのは、ちょっとずるいくらいです。

そして今回、通知そのものより大きかった収穫があります。Googleの“外”のサービスと、AIの書いたコードがつながったことです。前回はGoogleの中だけで完結していました。今回はLINEという外の世界と握手できた。この型——合鍵をもらう、コードに貼る、許可する——が一度体に入ると、つなげる相手が変わるだけで、自動化できる範囲は一気に広がります。

LINE Notifyの終了で「もうできなくなったのか」と引き返した人へ。できます。 この手順は2026年6月に、わたしが実機でゼロから踏んで確かめたものです。コードが書けなくても、ここまで来られます。

次回予告。 通知で「気づく」は片付いたので、次はたまっていく回答を“見る・まとめる”側——集計まわりの面倒を片付けにいく予定です。

詰まったところがあれば、コメントで教えてください。一緒に抜けましょう。

▶ この開発部の入口(創刊号)はこちら:コードが書けない。だから、面倒な作業はぜんぶAIに任せる。そして定時で帰る
▶ 前回(メール通知版・許可画面の画像つき解説)はこちら:Googleフォームの回答を“中身ごと”自動でメール通知

その面倒な作業、Google×AIで自動化。
部員は、わたしとAI。

コメント

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