![見出し画像](https://assets.st-note.com/production/uploads/images/146496536/rectangle_large_type_2_0c09584ad4a134c0fb4b634d73d4ff7c.png?width=1200)
LINE Notifyを使ってGASからLINEに通知を送ろう
ちょっと紹介したいことがあって、取り急ぎGASからLINEに通知が送れるLINE Notifyの設定方法の紹介をします。
アクセストークンの発行
まず以下の公式サイトにLINEアカウントを使ってログインします。
![](https://assets.st-note.com/img/1720330527115-UCcUQFcRtg.png?width=1200)
右上のアカウント横矢印からマイページを選択
![](https://assets.st-note.com/img/1720330629205-FtRaU1Erib.png)
続いてアクセストークンを発行します。
![](https://assets.st-note.com/img/1720330664552-jbMW2xE3dU.png?width=1200)
トークン名を適当に付けておき、通知を送信するトークルームを選びます。今回は自分だけとの1:1のトークルームを指定しました。
![](https://assets.st-note.com/img/1720330846454-9uLXEzmDmK.png)
トークンが発行されるので、こちらを控えておきます。
![](https://assets.st-note.com/img/1720330851359-dNwpbA4HK3.png)
これでLINE側の事前準備は完了です。
LINE Notifyにメッセージを送信するクラス
クラスについては以前の記事でもふれました。
クラスは「コードの再利用性が向上し、同じコードを繰り返し書く必要がなくなるもの」です。
今回はクラス化するほどの複雑なコードではありませんが、これだけ関数というのも気持ち悪いのでクラス化しました。
// last update 2024-07-07
/**
* LINE Notifyにメッセージを送信するクラス
*
* プロパティ:
* - accessToken - LINE Notifyのアクセストークン
* - url - LINE NotifyのAPIエンドポイントURL
*
* メソッド:
* - send(message) - メッセージを送信するメソッド
*
*/
'use strict'
class LineNotify {
/**
* コンストラクタ
* @param {string} accessToken - LINE Notifyのアクセストークン
*/
constructor(accessToken) {
this.accessToken = accessToken;
this.url = 'https://notify-api.line.me/api/notify';
}
/**
* メッセージを送信するメソッド
* @param {string} message - 送信するメッセージ
*/
send(message) {
// 送信するデータを作成する
const objPayload = { message: message };
// オプションを設定する
const objOptions = {
method: 'post',
headers: { 'Authorization': 'Bearer ' + this.accessToken },
payload: objPayload
};
// リクエストを送信する
const response = UrlFetchApp.fetch(this.url, objOptions);
// レスポンスをログに出力する
return response.getContentText();
}
}
/**
* LineNotifyクラスを使ってLINE Notifyにメッセージを送信するテスト関数
*/
function testLineNotify() {
// アクセルを設定
const accessToken = PropertiesService.getScriptProperties().getProperty('LINE_NOTIFY_TOKEN');
// テスト送信するメッセージ
const message = 'こんにちは!これはテストメッセージだよ。';
// メッセージを送信
new LineNotify(accessToken).send(message);
}
最後のほうにtestLineNotify()関数を用意しています。
スクリプトプロパティに先ほど控えたアクセストークンを格納するなどしてメッセージ送信をテストしてみてください。
![](https://assets.st-note.com/img/1720334950093-NaowVXMEol.jpg?width=1200)
この記事が気に入ったらチップで応援してみませんか?