📲 Line Notify連携:リアルタイム監視通知ボットの構築

前章では、Googleスプレッドシートに米ドル為替レートを自動取得させることに成功しました。 しかし、為替レートが急落した場合、投資家であるあなたは毎日スプレッドシートを開いて確認しないかもしれません。もしそれが「ボス、今日は米ドルが急落しています、今がチャンスです!」とLINEメッセージを自動送信してくれたらどうでしょうか?

本章では、永久無料のLine Notifyを申請し、GASで関数を書いて、いつでもどこでもアラートをあなたのスマホや仕事用グループにプッシュ通知する方法を解説します!


1. Line Notifyとは?

LINEでメッセージを送信したい場合、2つの方法があります:

  1. LINE公式アカウント(LINE Official Account / Bot):機能が豊富で、グラフィカルメニューや双方向チャットが可能。欠点は:有料です! 200通を超えると高額な月額料金が発生。
  2. LINE Notify:「一方向のブロードキャスト」のみ可能。自分自身やグループを紐付け、プログラムから「テキストや画像を送信」するだけ。利点は:完全無料!送信数に制限なし!

システム監視、内部レポート通知、個人用投資ボットには、LINE Notifyが最適です。


2. LINE Notifyトークンの申請

GASプログラムにLINEへメッセージを送信する権限を与えるには、鍵(Token)を申請する必要があります。

  1. パソコンのブラウザでLINE Notify公式サイトを開き、LINEアカウントでログイン。
  2. 右上の名前をクリック → **「個人ページ」**を選択。
  3. ページ最下部までスクロールし、「トークンを発行する(Generate token)」ボタンをクリック。
  4. トークン名を入力:例 [財務ボット](これは各メッセージの先頭に表示されます)。
  5. 通知を受け取るチャットルームを選択
    • 1対1チャットでLINE Notifyから通知を受け取る」を選択(自分だけが閲覧可能)。
    • またはチームの「特定のグループ」を選択(グループ全員が閲覧可能)。
  6. 「発行」をクリック。
  7. 画面に長い文字列(例:abc123DEF456ghi789...)が表示されます。 🚨 すぐにこれをコピーし、テキストファイルに保存してください!この画面を閉じると、二度とこのTokenを見ることはできません!

⚠️ グループに送信するように選択した場合、スマホで該当のLINEグループを開き、公式アカウントLINE Notifyをグループに招待してください!そうしないとメッセージを送信できません!


3. GASでLINE Notify送信関数を作成

前章のGASエディタ(Code.gs)に戻ります。 「伝えたいメッセージ」を渡すと、LINEに送信してくれる共通関数を作成しましょう。

// LINE Notify送信の共通関数
function sendLineNotify(message) {
  // 先ほどコピーしたTokenをここに貼り付け
  var token = "YOUR_LINE_NOTIFY_TOKEN_HERE"; 
  
  // Line NotifyのAPIエンドポイント
  var url = "https://notify-api.line.me/api/notify";
  
  // Line Notifyのリクエスト形式
  var options = {
    "method": "post",
    "headers": {
      "Authorization": "Bearer " + token
    },
    // 送信内容はpayload内に格納、キーは'message'でなければならない
    "payload": {
      "message": message
    }
  };
  
  try {
    // 送信!
    var response = UrlFetchApp.fetch(url, options);
    Logger.log("LINE送信成功:" + response.getContentText());
  } catch (error) {
    Logger.log("LINE送信失敗:" + error.toString());
  }
}

// テスト関数でスマホに通知が届くか確認!
function testLine() {
  sendLineNotify("\nボス、おはようございます!Googleスプレッドシートから送信したテストメッセージです!🚀");
}

💡 実践的な細かい工夫:テストメッセージの先頭に\nを追加しています。これはLINE Notifyのデフォルト形式が[トークン名] メッセージとなるためです。改行なしだと見づらいため、\nを入れることで本文を次の行に移動させ、見やすくしています。

testLine関数を選択し「実行」をクリック。スマホが即座に「ピン」と鳴り、ボットからのメッセージが届くはずです!


4. 前章との統合:「底値買いアラート」の作成

前章の「為替レートクローラー」と本章の「LINE送信機能」を統合し、ビジネスロジックを持った自動アラートシステムを作成します。

前章のクローラーコードを修正:

function fetchDailyExchangeRate() {
  var apiUrl = "https://api.exchangerate-api.com/v4/latest/USD";
  
  try {
    var response = UrlFetchApp.fetch(apiUrl);
    var data = JSON.parse(response.getContentText());
    var usdToTwd = data.rates.TWD;
    
    if (!usdToTwd) return;
    
    // スプレッドシートに記入
    var today = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy/MM/dd");
    appendToSheet(today, usdToTwd);
    
    // 🔔 アラートロジック:米ドル為替レートが31を下回ったら「買いアラート」を送信!
    if (usdToTwd < 31.0) {
      var msg = "\n🚨 【米ドル底値アラート】🚨\n" + 
                "現在の米ドル対台湾ドル為替レートが31を突破しました!\n" +
                "現在のレート:" + usdToTwd + "\n" +
                "ボス、今が買い時です!💵";
                
      sendLineNotify(msg);
    } else {
      // 通常時の簡易日報送信
      sendLineNotify("\n📊 本日の財務日報 \n米ドル対台湾ドル為替レート:" + usdToTwd);
    }
    
  } catch (error) {
    // システムエラー時もエンジニア(あなた自身)に通知
    sendLineNotify("\n❌ クローラーシステム異常発生、至急コードを確認してください!\nエラー内容:" + error.toString());
  }
}

5. その他のビジネス応用例

UrlFetchAppとLINE Notifyの組み合わせをマスターすれば、万能ツールを手に入れたも同然です。 財務ボット以外にも、以下のような業務自動化が可能です:

  1. フォーム監視システム:Google Form予約フォームに新しいエントリーがあったら、トリガー「フォーム送信時」で会社のサポートグループにLINE通知:「🔔 新規予約が入りました、至急対応を!」
  2. 請求管理ボット:経理がGoogle Sheetに入金を「入金済み」とマークしたら、自動で営業担当者に出荷通知をLINE送信。
  3. ウェブサイト死活監視:会社の公式サイトに対して1時間ごとにHTTPリクエストを送信し、200 OK以外(サイトダウン)の場合はLINEでエンジニアを叩き起こす。

これらの強力な機能は、Google Apps Scriptを使えば完全無料、サーバー不要、クラウドデータベースも不要で実現可能です!この自動化思考を身につければ、1人でチーム全体の生産性を凌駕できるでしょう!

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!