1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年版】GASでLINEに通知を送る方法(LINE Notify終了後のMessaging API対応)

1
Posted at

はじめに

「GASからLINEに通知を送りたい」——スプレッドシート更新やフォーム受信をLINEで受け取れると便利です。

ただし注意点があります。以前定番だった「LINE Notify」は2025年3月31日でサービス終了しました。 検索で出てくる古い記事の多くはこのLINE Notifyを使っているため、今はそのままでは動きません。

この記事では、現在の正しい方法である「LINE Messaging API」を使って、GASからLINEに通知を送る手順を解説します。

LINE Notifyとの違い

LINE Notify(終了) Messaging API(現行)
提供状況 2025年3月末で終了 現行・公式推奨
必要なもの トークンのみ LINE公式アカウント+トークン
送信先の指定 不要(固定) 必要(ユーザーIDを明示)
無料枠 無制限だった 月200通まで

Messaging APIは公式アカウントの作成が必要になった分、少し手順が増えますが、一度設定すれば従来と同じようにGASから通知を送れます。

無料枠について: 無料プランは月200通まで。この通数は「送信人数 × メッセージ数」でカウントされます。個人への通知が中心なら十分な範囲です。

全体の流れ

① LINE公式アカウントを作る
② Messaging APIを有効化してトークンを取得
③ 自分のユーザーIDを取得
④ GASにコードを書いて送信

Step 1:LINE公式アカウントを作る

  1. LINE公式アカウント作成ページ にアクセス
  2. LINEアカウントでログインして公式アカウントを作成
  3. アカウント名などの必要情報を入力

個人でも無料で作成できます。

Step 2:Messaging APIを有効化してトークンを取得

  1. LINE Official Account Manager を開く
  2. 作成したアカウントを選択 → 右上「設定」
  3. 左メニュー「Messaging API」→「Messaging APIを利用する」
  4. プロバイダー名を設定(提供者名。後から変更不可なので注意)
  5. 設定完了後、LINE Developers Console に移動
  6. 該当チャネル →「Messaging API設定」タブ
  7. 一番下の「チャネルアクセストークン(長期)」を発行してコピー

Step 3:自分のユーザーIDを取得する

Messaging APIでは送信先を明示的に指定する必要があります。自分のユーザーIDを調べます。

  1. LINE Developers Consoleの「Messaging API設定」タブ
  2. QRコードから、自分のスマホで公式アカウントを友だち追加する
  3. 同じ画面の「あなたのユーザーID」欄に表示される U から始まるIDをコピー

友だち追加していないユーザーには通知を送れません。必ず自分で友だち追加してください。


Step 4:GASでコードを書く

Apps Scriptに以下を貼り付けます。

// ─── 設定 ───────────────────────────────────────
const LINE_CONFIG = {
  accessToken: 'ここにチャネルアクセストークン',  // ★ Step 2で取得
  userId:      'ここにユーザーID(Uから始まる)',   // ★ Step 3で取得
};
// ────────────────────────────────────────────────

/**
 * LINEにテキストメッセージを送信する
 * @param {string} message - 送信するメッセージ
 */
function sendLine(message) {
  const url = 'https://api.line.me/v2/bot/message/push';

  const payload = {
    to: LINE_CONFIG.userId,
    messages: [
      { type: 'text', text: message },
    ],
  };

  const options = {
    method: 'POST',
    headers: {
      'Content-Type':  'application/json',
      'Authorization': `Bearer ${LINE_CONFIG.accessToken}`,
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true,
  };

  const response = UrlFetchApp.fetch(url, options);

  // エラーチェック
  if (response.getResponseCode() !== 200) {
    console.error('LINE送信エラー: ' + response.getContentText());
  }
}

// 動作確認用
function test() {
  sendLine('GASからのテスト通知です📱');
}

test 関数を実行して、LINEに通知が届けば成功です(初回は権限の許可を求められます)。


実用例:フォーム送信をLINEに通知する

Googleフォームに回答があったら、その内容をLINEに送る例です。

/**
 * フォーム送信時に呼ばれる関数
 * ※ トリガーで「フォーム送信時」に設定する
 */
function onFormSubmit(e) {
  let message = '📋 フォームに新しい回答がありました\n\n';

  const responses = e.namedValues;
  for (const [question, answers] of Object.entries(responses)) {
    message += `■ ${question}\n${answers.join(', ')}\n\n`;
  }

  sendLine(message);
}

トリガーの設定

  1. Apps Scriptの左メニュー「トリガー(時計アイコン)」
  2. 「+トリガーを追加」
  3. 実行する関数:onFormSubmit
  4. イベントのソース:フォームから
  5. イベントの種類:フォーム送信時

これでフォーム回答が届くたびに、自動でLINEに通知が飛びます。


つまずきやすいポイント

① 401 Unauthorized エラー
→ チャネルアクセストークンが間違っている、または期限切れ。長期トークンを再発行して確認。

② 400 Bad Request エラー
userId が間違っているか、友だち追加していない。Uから始まる正しいIDか確認。

③ 月200通を超えた
→ 無料枠の上限。上限に達すると送信できなくなるため、通数が多い場合は有料プランを検討。


まとめ

  • LINE Notifyは終了したので、今はMessaging APIを使う
  • 公式アカウントの作成とユーザーIDの指定が必要になった
  • コード自体はシンプルで、sendLine() 関数を使い回せる
  • フォーム通知・定期通知など様々な自動化に応用できる

LINE Notifyの記事で困っていた方は、この方法に切り替えれば通知を復活できます。


業務の通知自動化・システム連携のご相談

「LINE通知の仕組みを業務に組み込みたい」「フォームや基幹システムと連携したい」などのご相談を受け付けています。

🌐 https://datarou.com

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?