📤

Node-REDでLINEへメッセージを送信する

2022/07/19に公開

Node-REDの「line-notify」ノードを利用して、LINEへメッセージを送信する方法について説明します。
LINE Notifyは、LINE公式アカウントのひとつで、他のWebサービスと連携させて、LINEのメッセージに通知を送ることができるサービスです。

LINEの準備

LINEのアクセストークンを取得

  1. WebブラウザでLINE Notifyのページにアクセスして、「ログイン」をクリックします。

  1. メールアドレスとパスワードを入力して、「ログイン」ボタンをクリックします。

  1. 右上の自分の名前を▼ボタンをクリックし、「マイページ」をクリックします。

  1. 「トークンを発行する」ボタンをクリックします。

  1. トークン名(ここでは、「Node-RED Bot」)を入力して、トークルームは「1:1でLINE Notifyから通知を受け取る」を選択し、「発行する」ボタンをクリックします。

  1. Line Notifyのトークンが発行されます。「コピー」ボタンをクリックして、トークンをコピーしておきます。

このトークンを使用して、LINE Notifyから自分宛てにメッセージが送信できるようになりました。


Node-REDによるフローの作成

Node-REDで、LINEへメッセージを送信するためのフローを作成します。
Node-REDのインストール方法は、以下のページを参考にしてください。
https://nodered.jp/docs/getting-started/local

node-red-contrib-line-notifyのインストール

  1. Node-REDをWebブラウザで開きます。
  2. 右上にある「三」のボタンをクリックしてメニューを開き、「パレットの管理」をクリックします。

  1. 「ノードの追加」タブを選択して、検索のテキストボックスに「line-notify」と入力します。
    検索されたノードから「node-red-contrib-line-notify」の「ノードを追加」ボタンをクリックします。

  1. パレットの「LINE」グループに「line-notify」ノードが追加されます。

ノードの設定

  1. Node-REDのワークスペースに以下のノードを追加し、図のように配置します。
    • injectノード
    • line-notifyノード
    • debugノード

  1. line-notifyノードをダブルクリックして、「新規にlinetokenを追加」をクリックします。

  1. アクセストークンに先程コピーしたLINEのトークンを貼り付け、「追加」ボタンをクリックします。

  1. メッセージの枠内に送信したい内容を入力して、「完了」ボタンをクリックします。

  1. 「デプロイ」ボタンをクリックします。

  1. 完成したフローです。

作成したフローのJSONを以下に貼っておきます。
Node-REDのメニューから「読み出し」->「クリップボード」で配置することができます。
line-notifyノードのアクセストークンは再設定してください。

[{"id":"e6db9f187c5f1b24","type":"line-notify","z":"4d5dad1573c7a3cc","name":"","message":"メッセージです。","contentType":"message","imageThumbnail":"","imageUrl":"file://./image/LINE_logo.png","sticker":"default","stickerPackageId":"1","stickerId":"1","silent":false,"creds":"f316cf6fcc0126c0","x":320,"y":160,"wires":[["81cd1a5b10bedee1"]]},{"id":"e4aa08b16f433e77","type":"inject","z":"4d5dad1573c7a3cc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":160,"wires":[["e6db9f187c5f1b24"]]},{"id":"81cd1a5b10bedee1","type":"debug","z":"4d5dad1573c7a3cc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":490,"y":160,"wires":[]},{"id":"f316cf6fcc0126c0","type":"linetoken","name":"","credentials":{}}]

動作確認

injectノードの左側のボタンをクリックすると、LINEへメッセージが送信されます。

このように、Node-REDでは、line-notifyノードにアクセストークンを設定するだけで、簡単にメッセージを送信することができます。

Discussion