スプレッドシートで管理している在庫やタスクの更新を、リアルタイムでLINEに通知できたら便利だと思いませんか。この記事では、GoogleスプレッドシートとLINE Notify APIを連携する方法を詳しく解説します。Apps Scriptを使った具体的なコードと設定手順を紹介しますので、初心者の方でも簡単に実装できます。これを読めば、スプレッドシート上のデータ変更を自動でLINEに送信できるようになります。
【要点】LINE Notify APIでスプレッドシートからLINE通知を送る手順
- LINE Notifyのアクセストークン発行: LINE Notifyサイトでトークンを発行し、通知先のグループまたは自分自身を選択します。
- Apps Scriptで通知関数を記述: スプレッドシートからデータを取得し、UrlFetchAppでLINE Notify APIにPOSTリクエストを送信する関数を作成します。
- トリガーで自動化: 時間主導型や編集時トリガーを設定し、定期的または条件に応じて関数を自動実行します。
ADVERTISEMENT
目次
LINE Notify APIとスプレッドシート連携の仕組み
LINE Notifyは、外部サービスからLINEにメッセージを送信するための公式APIです。スプレッドシート側では、Google Apps Script(GAS)を使ってHTTPリクエストを送ります。スプレッドシートのセル値を引数にメッセージを作成し、LINE NotifyのエンドポイントにPOSTすることで、任意のテキストをLINEに投稿できます。この仕組みにより、在庫のしきい値超えやタスクの期限切れなどを自動通知できます。
事前準備:LINE Notifyのアクセストークンを取得する手順
- LINE Notifyサイトにログインする
LINEアカウントでログインします。初めての方は「ログイン」ボタンから進んでください。 - マイページでトークンを発行する
「アクセストークンを発行する」ボタンをクリックし、トークン名(例:スプレッドシート通知)を入力します。通知先は「1:1でLINE Notifyから通知を受け取る」か、自分が管理者のグループを選択できます。 - 発行されたトークンをコピーする
表示されたトークン文字列をメモ帳などに保存します。このトークンは後でスクリプト内で使用するため、安全な場所に保管してください。
スプレッドシートでApps Scriptを記述する手順
スプレッドシートの「拡張機能」メニューから「Apps Script」を開き、スクリプトエディタを表示します。以下の手順でコードを記述します。
- 関数sendLineNotifyを作成する
次のコードを貼り付けます。function sendLineNotify(message) {
var token = 'YOUR_TOKEN'; // ここに発行したトークンを記述
var options = {
'method' : 'post',
'headers' : {
'Authorization' : 'Bearer ' + token,
},
'payload' : {
'message' : message,
},
};
UrlFetchApp.fetch('https://notify-api.line.me/api/notify', options);
} - 通知内容を組み立てる関数を作成する
例えば在庫アラートの場合、次のようにセルの値を取得してメッセージを生成します。function sendStockAlert() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('在庫管理');
var item = sheet.getRange('A2').getValue();
var stock = sheet.getRange('B2').getValue();
var message = '【在庫アラート】' + item + 'の在庫が' + stock + '個になりました。';
sendLineNotify(message);
} - スクリプトを保存して実行する
Ctrl+Sで保存し、実行ボタン(▶)をクリックして関数をテストします。初回は権限の承認が必要です。LINEに通知が届けば成功です。
ADVERTISEMENT
トリガーを設定して自動通知する手順
トリガーを設定すると、手動で実行しなくても自動的に通知が送られます。
- Apps Scriptのトリガー画面を開く
左メニューの「時計アイコン(トリガー)」をクリックし、「トリガーを追加」を押します。 - 実行する関数とイベントを選択する
「実行する関数」で先ほど作った関数(例:sendStockAlert)を選びます。「イベントのソース」は「時間主導型」または「スプレッドシートから」を選べます。時間主導型なら「時間ベースのタイマー」で頻度(1時間ごとなど)を設定します。編集時に通知したい場合は「スプレッドシートから」→「変更時」を選びますが、その場合はonEdit関数を別途記述する必要があります。 - トリガーを保存して動作を確認する
保存後、条件が揃ったときに自動実行されます。実行ログはApps Scriptの「実行」メニューで確認できます。
注意点とよくあるエラー
アクセストークンが無効な場合
トークンが間違っていると401エラーが発生します。LINE Notifyのマイページでトークンを再発行し、スクリプト内のtoken変数を更新してください。トークンは他人に見られないように注意しましょう。
メッセージ送信回数制限
LINE Notify APIには1時間あたりの送信上限があります。大量の通知を短時間に送るとエラーになるため、間隔を空けるか、必要最低限の通知に絞りましょう。時間主導型トリガーでは送信間隔を1時間以上に設定することをお勧めします。
トリガーが正しく動作しない場合
トリガーが実行されない原因として、権限不足やスクリプトのエラーが考えられます。Apps Scriptの「実行」メニューでログを確認し、エラー内容を特定してください。また、トリガー設定時に必要な権限を承認しているか確認しましょう。
編集時トリガーの注意点
編集時トリガーはセルの変更ごとに動作するため、短時間に大量の編集があると通知が殺到します。条件分岐をonEdit関数内で行い、特定のシートやセル範囲の編集時のみ通知するように制御しましょう。
サービス終了に注意
LINE Notifyは2025年3月にサービスを終了する予定です。今後はLINE Messaging APIなどへの移行をご検討ください。
通知内容の応用例
| 用途 | 通知内容の例 |
|---|---|
| 在庫管理 | 商品名と在庫数がしきい値を下回ったときに通知 |
| タスクリマインダー | 期限当日のタスク一覧を定時に通知 |
| 営業データ更新 | 新規リードが追加されたときに担当者に通知 |
まとめ
この記事では、GoogleスプレッドシートとLINE Notify APIを連携して、セルの値に応じたLINE通知を送る方法を解説しました。アクセストークンの発行、Apps Scriptのコード記述、トリガー設定の3ステップで自動化を実現できます。まずはサンプルコードを試し、在庫管理やタスク管理に応用してみてください。今後の更新では、LINE Messaging APIへの移行も視野に入れておくとよいでしょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
