SANANEBLOG
GAS PR

Googleフォームの回答をLINEで受け取る方法!【LINE Messaging API対応】

記事内に商品プロモーションを含む場合があります

はじめに

今回はLINE Messaging APIを使って、Google Formの回答内容を自動的にLINEに通知する方法を紹介します。

アンケートやお問い合わせ、イベント申込みなど、あらゆる用途で便利に使われるGoogleフォーム

しかし、回答が届いたことに気づくのが遅れてしまったり、メール確認をこまめに行うのが大変だったり……。

そんなときに、LINE Messaging APIとの連携をすることで、LINEの公式アカウントで回答内容の通知をを受け取ることができます。

なぜLINE Messaging APIを使うのか?

これまでは同様の機能をLINE Notifyを使うことで代用が可能でした。

しかし2025年4月1日以降、LINE Notifyのすべての機能が利用できなくなることが発表されています。

そのため、本記事ではLINE Notifyではなく代用となるLINE Messaging APIで通知を行う方法をご紹介します。

LINE Messaging APIに切り替える際の注意点

  1. 公式アカウントが必要
    以前は、LINE Notifyのトークルームに通知できましたが、2025年4月以降は公式アカウントを作成し、Messaging APIの利用が必須になります。
  2. 月に200通の無料枠がある
    LINE Messaging APIの無料枠では「1ヶ月200通」まで送信できます。
    • 複数人が同じ公式アカウントから通知を受け取る場合でも、すべて合算で200通です。
    • もし合計で200通以上の通知を利用している場合は、有料プランの契約が必要になる可能性がありますのでご注意ください。

メリット

  • フォーム回答のリアルタイム通知
    新しい回答が届くと、作成したLINE公式アカウントで瞬時に通知を受け取ることができます。わざわざメールをチェックしたり、スプレッドシートを開く手間を減らすことが可能です。
  • 基本無料で利用可能
    月の利用上限はありますが、上限以内の利用であれば無料で利用が可能です。LINEの公式アカウントも無料で作成ができます。
  • スプレッドシートへの保存との連携
    もちろんフォーム回答はGoogleスプレッドシートに自動記録されるので、後からデータ分析や一括管理も容易になります。

事前に準備するもの

  1. Googleアカウント
    (Googleフォームやスプレッドシートの作成・管理に必要)
  2. LINE公式アカウント
    (作成方法は本記事の手順で説明します)
  3. Googleフォームおよび連携用のスプレッドシート
    (これから本記事の手順で作成します)

ステップ1:Googleフォームとスプレッドシートをリンクする

1.1 Googleフォームを作成

  1. Google フォームにアクセスします。
  2. 新しいフォームを作成し、質問項目などを自由にカスタマイズしてください。

1.2 フォームの回答をスプレッドシートにリンク

  1. フォーム編集画面の上部「回答」タブをクリック。
  2. スプレッドシートにリンク」のアイコン(緑色のシートのマーク)を選択。
  3. 新しいスプレッドシートを作成」を選択して「作成」。
  4. 自動でスプレッドシートが生成され、回答が連携されるようになります。

ステップ2:LINE公式アカウントの設定(Messaging APIの準備)

2.1 LINE公式アカウントの作成

  1. LINE Official Account Managerにアクセスして自身のアカウントでログインします。個人の利用であれば「LINEアカウントでログイン」で問題ありません。
  2. 「アカウントタブ」より「作成」をクリックし新規アカウントを作成します。
    • アカウント名:お好み(例:「通知Bot」など)
    • メールアドレス:任意
    • 業種:個人
    • 運用目的:その他
    • 主な使い方:メッセージ配信用
  3. 各種同意画面に従い、「同意」を選択。
  4. 作成完了後、LINE公式アカウントが使用可能になります。

2.2 LINE公式アカウントでMessaging APIを有効にする

  1. LINE Official Account Managerで作成したアカウントにログインします。
  2. 画面右上の「設定」をクリック。
  3. 左メニューの「Messaging API」を選択。
  4. Messaging APIを利用する」をクリック
  5. プロバイダーを選択 → 「同意する」。
  6. プライバシーポリシー、利用規約は空欄のまま「OK」をクリック。
  7. 「OK」をクリックし、[Channel ID]と[Channel Secret]が表示されていることを確認します。

2.3 LINE Developersでのアクセストークン取得

  1. LINE Developersにアクセスし、「コンソールにログイン」をクリック。前ステップで選択したプロバイダーを選択します。
  2. 前ステップで作成したチャネルを選択。
  3. 上部バーから「Messaging API設定」をクリック。
  4. ページ下部の「チャンネルアクセストークン」を発行してコピー(後で使用します)。

ステップ3:Google Apps Scriptで通知スクリプトを作成する

3.1 スクリプトの準備

  1. ステップ1.2で作成したスプレッドシートを開きます。
  2. 上部メニュー「拡張機能」 → 「Apps Script」をクリック。
    • 新しいタブでGoogle Apps Scriptのエディタが開きます。

3.2 スクリプトの編集

以下のコードをコピー&ペーストしてください。不要なものが混ざらないように注意しましょう。実行後、下記を実施します。

このとき、コード1行目のconst ACCESS_TOKEN = 'YOUR_ACCESS_TOKEN';YOUR_ACCESS_TOKEN 部分を、
ステップ2.3で取得したチャンネルアクセストークンに置き換えます。
(シングルクォーテーション ' ' はそのままです)

const ACCESS_TOKEN = 'YOUR_ACCESS_TOKEN';

function sendToLine() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var row = sheet.getLastRow();
  var data = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues();
  var message = '新しいフォームの回答がありました:\n';
  
  // タイムスタンプを整形(年月日と時間のみ)
  var timestamp = new Date(data[0][0]);
  var formattedTimestamp = Utilities.formatDate(timestamp, Session.getScriptTimeZone(), 'yyyy/MM/dd HH:mm');
  message += '■タイムスタンプ\n ' + formattedTimestamp + '\n';
  
  // 回答をメッセージに追加
  data[0].forEach(function(value, index) {
    // 1列目はタイムスタンプなのでスキップ
    if (index > 0) {
      var question = sheet.getRange(1, index + 1).getValue();
      message += '■' + question + '\n ' + value + '\n';
    }
  });
  
  // LINE Messaging API (ブロードキャスト) へPOSTする
  var url = 'https://api.line.me/v2/bot/message/broadcast';
  var payload = JSON.stringify({
    "messages": [
      {
        "type": "text",
        "text": message
      }
    ]
  });
  
  var options = {
    "method": "post",
    "contentType": "application/json",
    "headers": {
      "Authorization": "Bearer " + ACCESS_TOKEN
    },
    "payload": payload
  };
  
  UrlFetchApp.fetch(url, options);
}

上部メニューの「保存」ボタンをクリックして、プロジェクトを保存します。

3.3 トリガーの設定

  1. スクリプトエディタの左メニューから時計マーク(トリガー)をクリック。
  2. トリガーを追加」ボタンを押して新規トリガーを作成。
    • 実行する関数を選択:sendToLine
    • イベントのソースを選択:スプレッドシート
    • イベントの種類を選択:フォーム送信時
  3. 保存」ボタンをクリック。
  4. 初回設定時は「承認が必要です」画面が出ますので、下記記事を参考にアクセス権限を許可してください。
Google Apps Scriptで「承認が必要です」が表示されたときの対応方法について解説【GAS】 はじめに SANANE 今回はGoogle Apps Scriptを利用する際に表示される「アクセス権の承認」について手順を解説...

これで設定完了です!
以降、Googleフォームに新しい回答があるたびに、自動でLINE公式アカウントから通知が飛ぶようになります。

カスタマイズについて

本ツールに更に機能を追加した場合や、別のツールの作成依頼はココナラというサービスにて承っております。

依頼方法

STEP1:ココナラに会員登録

初めてココナラを登録する方は下記をクリックしてココナラにアクセスし、右上の[会員登録]から会員登録を実施してください。

STEP2:見積・仕事の依頼をする

会員登録が完了したら下記リンクにアクセスし、画面右側の[見積り・仕事の相談をする]からご相談ください。

SANANE

相談は無料ですのでまずはお気軽にご相談ください!