🦕
DenoでLINE Notifyを使う
好きな内容をLINEに通知できるサービス、LINE NotifyをDenoで使ってみます。
LINE Notifyに登録する
以下のページにLINE IDでログインします。
マイページを開きます。
ページ下部の「トークンを発行する」をクリックします。
設定モーダルが出るので、「トークン名」を入力し、送信先のトークルームを選択します。
トークン名はメッセージの最初に必ず表示されるので、短めの文字列が良さそうです。
トークルームは既存のものを選択することも出来ますが、「1:1でLINE Notifyから通知を受け取る」を選ぶと、自分とLINE Notifyだけのルームでメッセージを確認できます。
今回はこれを選んで発行します。
友達の数がバレる…
発行すると次の画面でトークンが表示されます。
以後トークンの確認は出来ないので必ずコピーしておきましょう。
完了するとマイページに連携結果が表示されます。
いくつでも作れるようなので、トークンがわからなくなったら作り直せばOKです。
LINE Notifyから通知が来ます。
APIを叩く
LINE NotifyのAPIはこちらです。
https://notify-api.line.me/api/notify
にPOST
で送信します。
成功すると、LINEのルームに通知が来ます。
Denoから通知する
本題です。
DenoでFetch APIを使ってLINE Notifyへメッセージを送ってみます。
トークンを含めるので、dotenvを使います。
main.ts
import { config } from "https://deno.land/x/dotenv@v2.0.0/mod.ts";
const { LINE_ACCESS_TOKEN } = config();
const url = "https://notify-api.line.me/api/notify";
const body: URLSearchParams = new URLSearchParams({
message: "hello from deno!",
});
const res = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${LINE_ACCESS_TOKEN}`,
"Content-Type": "application/x-www-form-urlencoded",
},
body,
});
const json = await res.json();
console.log(json);
.env
LINE_ACCESS_TOKEN=token1234
実行します。.env
を読み込む権限が必要です。
❯ deno run --allow-net --allow-env --allow-read main.ts
{"status":200,"message":"ok"}
ひとこと
めっちゃ簡単にLINE通知を作れました。
自分用に色々使えそうです。
今回のリポジトリはこちら。
参考
Discussion