2
1

LINE Notify ハンズオン

Last updated at Posted at 2024-06-05

はじめに

手軽にLINEへPush通知を行えるLINE Notifyのハンズオン記事です。
APIの実行方法はcurl、Node.js、Arduinoの3通りの方法を紹介します。

ハンズオン

トークン発行API実行の2つのステップで進めていきます。

トークン発行

LINE Notifyページへアクセスし画面右上の「ログイン」をクリックし、ログインします。
(QRコードログインが楽です)

image

ログイン後にアカウント名をクリックし、表示されるメニューより「マイページ」を選択します。

image

マイページ下部の「アクセストークンの発行」より「トークンを発行する」ボタンをクリックします。

image

「トークンを発行する」ウィンドウが表示されるので、任意のトークン名を入力し、通知を送信するトークルームにて「1:1でLINE Notifyから通知を受け取る」を選択し、「発行する」ボタンをクリックします。

複数のメンバーがいるトークルームを選択することもできます。

image

トークンが発行されるのでコピーします。

トークンはこのタイミングでしか確認できないので、しっかりとコピーしてください。

image

APIの実行

curl

以下のcurlコマンドの をLINE Notifyトークンに書き換えて実行するとLINEへ通知が飛びます。

$ curl -X POST -H "Authorization: Bearer <token>" -F "message=Hello Notify!" https://notify-api.line.me/api/notify
{"status":200,"message":"ok"}

Node.js

Node.js v18以上の環境を使用してください。

以下のソース1行目のをLINE Notifyトークンに書き換え、line-notify.mjsというファイル名で保存します。

line-notify.mjs
const TOKEN = "<token>"



const notify = async (token, message) => {
    const URL = "https://notify-api.line.me/api/notify"
    
    const response = await fetch(URL, {
        method: "POST",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded",
            "Authorization": "Bearer " + token,
        },
        body: "message=" + message,
    })
    
    const data = await response.json()
    console.log(data)
}



notify(TOKEN, "Hello Notify!")

そして以下のコマンドを実行するとLINEへ通知が飛びます。

node line-notify.mjs

Arduino

M5StackやESP32といったWi-Fi付きのマイコンを使用してください。

SSIDPASSWORDをデバイスが接続するWi-Fi APのものに変更し、TOKENをLINE Notifyトークンに書き換えてスケッチをデバイスへ書き込みます。
スケッチ書き込み後、デバイスが電源オンになるとLINEへ通知が飛びます。

line-notify.ino
#include <HTTPClient.h>

const char* SSID = "<Wi-Fi SSID>";
const char* PASSWORD = "<Wi-Fi Password>";

const char* TOKEN = "<token>";



void connectWiFi() {
    Serial.print("WiFi connecting.");
    WiFi.begin(SSID, PASSWORD);
    while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(100);
    }
}

void notify(const String token, const String message) {
    const String URL = "https://notify-api.line.me/api/notify";
    
    HTTPClient http;
    http.begin(URL);
    http.addHeader("Content-Type", "application/x-www-form-urlencoded");
    http.addHeader("Authorization", "Bearer " + token);
    http.POST("message=" + message);
    
    Serial.println(http.getString());
    http.end();
}



void setup() {
    Serial.begin(115200);
    
    connectWiFi();
    
    notify(TOKEN, "Hello Notify!");
}

void loop() {
    
}

LINE Notifyハンズオンは以上です。
お疲れ様でした🎊

2
1
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
2
1