- ホーム
- ブログ
- Google Apps Script
- (GAS) LINE NotifyからLINE Messaging APIへ切り替える
LINE Notifyは、2025年3月31日にサービスが終了する。ということで、毎日LINE Notifyを使って自分宛にメッセージを配信している自分にはとても痛手なので、代替方法であるLINE Messaging APIへ切り替えることにしました。
LINE Notify用のコードをLINE Messaging API用のコードに置き換える
もう使わなくなりますが、参考までにLINE Notifyのコードは以下のようでした。 アクセストークンを使って認証をしています。
function sendLineNotify(msg) {
//LineNotifyサービス 2025/3/31にサービス終了
const url = "https://notify-api.line.me/api/notify"
const scriptProperties = PropertiesService.getScriptProperties();
const token = scriptProperties.getProperty('token');
let param = {
method: "post",
headers: {
"Authorization": "Bearer " + token
},
payload: {
"message": msg
},
muteHttpExceptions: false,
validateHttpsCertificates: false,
followRedirects: false
}
try {
const res = UrlFetchApp.fetch(url, param);
} catch (e) {
Logger.log('Error:')
Logger.log(e)
}
}
LINE Messaging APIを動かすためにはchannelAccessTokenと自分のuserIdが必要となります。アクセストークンの発行・確認方法や、開発者が自分自身のユーザーIDを取得するなどを参考にして、まずはchannelAccessTokenとuserIdを取得してください。
LINE Messaging APIを利用する場合は、次のようなコードになります。 channelAccessTokenを使って認証をして、payloadの中で、メッセージ受信者をuserIdで指定します。
function sendLineMassage(msg) {
const url = "https://api.line.me/v2/bot/message/push";
const scriptProperties = PropertiesService.getScriptProperties();
const channelAccessToken = scriptProperties.getProperty('channelAccessToken');
const userId = scriptProperties.getProperty('userId');
const param = {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + channelAccessToken,
},
payload: JSON.stringify({
"to": userId,
"messages": [{
"type": "text",
"text": msg
}]
})
};
try {
UrlFetchApp.fetch(url, param);
} catch (e) {
Logger.log('Error:')
Logger.log(e)
}
}
以上で、LINE Messaging APIへ切り替えができました。
可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More