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?

GASからLINEに通知する

Last updated at Posted at 2024-09-04

Google Apps Script(GAS)からLINEへPush通知を送信する方法をまとめました。
GASだとちょっとした仕組みを手軽にかつサーバレスで作れるので、これにPush通知の機能まで付けられるのは鬼に金棒です。

というわけでさっそく説明していきます。

1. 事前準備

(1)LINEでの設定

①通知先のLINEグループを作成

以下の手順でLINEグループを作成してください。

なお、通知先が自分自身のみの場合は「自分だけしかいないグループ」を作成すればOKです。
※後述しますが、作成したグループに通知を送信するためには、グループ内に「LINE Notify」も追加する必要がありますので、通知先が自分自身のみの場合は、最終的には「自分とLINE Notify」の2ユーザがグループ内に存在する形になります。

②LINE Notifyの設定

通知の送信にあたり、LINEの通知のサービスである「LINE Notify」を設定し、①で作ったグループで使える状態にします。
以下が分かりやすかったのでこちらを参考に設定してください。
この設定で取得したトークンはこの後のGASでの設定でも利用します。

(2)GASでの設定

スクリプトプロパティ(環境変数)の設定

(1)の②で取得したトークンをGoogleスプレッドシートで使えるよう設定します。
直接コード上にトークンを記述するハードコーディングはセキュリティ上の理由から避ける必要があります。
そこで、以下の手順のとおりスプレッドシートの「スクリプト プロパティ」(一般的な「環境変数」に相当)にトークン等を格納し内部的に呼び出せるようにします。

  1. スプレッドシート上部のメニューにある「拡張機能」の配下にある「Apps Script」を選択。すると、新しいタブでコードエディタが表示される
    スクリーンショット_2024-08-31_22_34_09.png
  2. エディタの左側にある歯車アイコンにカーソルを合わせると表示される「プロジェクトの設定」を選択
    スクリーンショット_2024-08-31_22_33_34.png
  3. 設定画面の一番下に「スクリプト プロパティ」という項目がある。これを設定するため「スクリプト プロパティを追加」を選択
    スクリーンショット_2024-08-31_22_43_30.png
  4. スクリプト プロパティ(環境変数と同義)の設定欄が表示されるので、以下のとおり設定
    ⅰ.「プロパティ」欄で適当な名前を入力(ここではLINENOTIFY_TOKEN)
    ⅱ. 取得したLINE Notifyのトークンを貼り付ける
    ⅲ. 入力内容を保存するため「スクリプト プロパティを保存」を選択
    スクリーンショット_2024-09-06_8_30_54.png

これで事前準備は完了です。

2. 実装

まずは通知用のlineNotify関数を作成します。
このlineNotify関数に通知したいメッセージ内容を引数として渡すことで、そのメッセージが(1)①で作ったLINEグループに通知される、という想定です。

(1)通知用関数

GAS
function lineNotify(message) {
    // スクリプトプロパティに格納したLINE Notifyのトークンを読み込む
    const lineToken = PropertiesService.getScriptProperties().getProperty("LINENOTIFY_TOKEN");
    // httpリクエスト内容の準備
    const options = {
        "method": "POST",
        "payload": {"message": message},
        "headers": {"Authorization": "Bearer " + lineToken}
    };
    // httpリクエストをLINE NotirfyのAPIに送信 → 指定のLINEグループに通知が飛ぶ
    UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

(2)通知実行

では、実際に実行してみましょう。

GAS
function pushNotify(){
    // 意味もなく3連発してみる
    lineNotify("通知テストです");
    lineNotify("通知テストざます");
    lineNotify("通知テストでごわす");
}

result.png

無事通知が届いたでごわす。

おわりに

実際に使ってみました。

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?