【GAS入門】LINEで通知を管理!スプレッドシート活用法

最近、GASを使ってみたんですけど、なかなか思うようにいかなくて…。LINEで通知を受け取る方法ってあるんですか?
猫男
猫男
catman
catman
任せてくれ。GASLINE通知を設定する方法を教えよう。スプレッドシートを使うと便利だから、その方法も一緒に解説しようかな。

 

GASでLINE通知を送る基本

まずは、Google Apps Script (GAS)を使ってLINE通知を送る基本的な方法を確認していきます。

準備するもの

これから始めるには、次のものが必要です。

1. Googleスプレッドシート

2. LINEのDeveloperアカウント

3. 通信を管理するGASスクリプト

LINE Notifyのトークンを取得

まずは、LINEのDeveloperアカウントにログインし、トークンを取得します。

  1. LINE Notifyのウェブサイトにアクセスし、開発者としてログイン
  2. 「マイトークン」ページで新しいトークンを発行する
  3. トークンを控えて、どこか安全な場所に保存しておく

 

これでトークンが準備できました!次はどうすればいいんですか?
猫男
猫男
catman
catman
次はGASのスクリプトでLINEに通知を送るコードを書こう。

 

GASでLINE通知を送信するコード

では、GASを使ってLINEに通知を送信するための具体的なスクリプトを作成します。

GASスクリプトの作成

スプレッドシートからGASエディタを開き、以下のコードを入力します。


function sendLineNotification(message) {
  var token = 'ここにあなたのLINEトークンを入力';
  var url = 'https://notify-api.line.me/api/notify';
  
  var options = {
    method: 'post',
    headers: { 'Authorization': 'Bearer ' + token },
    payload: { 'message': message }
  };
  
  UrlFetchApp.fetch(url, options);
}

このスクリプトは、指定したメッセージをLINEに送信するための基本的なものです。

送信機能のテスト

作成したスクリプトのテストを行い、LINEに通知が届くか確認します。


function testSendNotification() {
  sendLineNotification('テストメッセージ:こんにちは、世界!');
}

testSendNotification関数を実行してください。実行後、LINEにメッセージが届くはずです。

 

おお!LINEにちゃんとメッセージが届きました!感激です!
猫男
猫男
catman
catman
うまくいったようで良かったさ。これでGASからの通知はOKだ。あとはスプレッドシートで管理してみようか。

 

スプレッドシートで通知を管理する活用法

スプレッドシートでデータを整理し、より便利に活用する方法を見ていきましょう。

スプレッドシートの設定

スプレッドシートに通知内容を入力し、その内容を基に通知を送信するように設定します。

  1. スプレッドシートに「通知内容」という見出しを作成
  2. 行ごとに送信したいメッセージを入力

スプレッドシートと連携

スクリプトを修正して、スプレッドシートからメッセージを取得し、LINEに送るようにします。


function sendNotificationsFromSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();

  for (var i = 1; i < data.length; i++) { // ヘッダーを飛ばす
    sendLineNotification(data[i][0]);
  }
}

この関数を実行すると、スプレッドシート上の通知内容がすべてLINEに送信されます。

 

練習問題

1. GASスクリプトを使って、週に一度、自動的にLINE通知が送られるようにするにはどうすれば良いでしょうか。

2. 複数のメッセージを一度に送信できるスクリプトを改善してください。

 

解答・解説

まず、週に一度自動的に通知を送信するスクリプトは、以下のように時間駆動型トリガーを設定します。


function createWeeklyTrigger() {
  ScriptApp.newTrigger('sendNotificationsFromSheet')
           .timeBased()
           .everyWeeks(1)
           .create();
}

This script sets a time-driven trigger that executes sendNotificationsFromSheet once every week. Use the Scripts Editor to run createWeeklyTrigger just once to set up the recurrence.

複数のメッセージをまとめて送信する場合、メッセージの区切り記号を用いて一度に送信することが可能です。


function sendBatchNotifications() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var messages = [];

  for (var i = 1; i < data.length; i++) {
    messages.push(data[i][0]);
  }
  
  sendLineNotification(messages.join('\n')); // 改行区切りで連結
}

このスクリプトでは、スプレッドシート内のメッセージを改行で区切り、一度にまとめてLINEに送信します。

さすがですね、catmanなんて便利なんですか。これからもGASで色々試してみます!
猫男
猫男
catman
catman
素晴らしい心がけだ。どんどんスクリプトを楽しんでいこう!

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。