ラズパイからcurlコマンドでLINE Notifyにメッセージとステッカーを送る
以前、50オヤジから「これを見てくださいよ」と言われて、見せてもらったのが以下のシェルです。
#!/bin/sh
access_token="……………………"
subject=$1
body=$2
curl -X POST -H "Authorization: Bearer ${access_token}" -F "message=${subject}: ${body}" https://notify-api.line.me/api/notify
これを使用すると、ラズパイからcurlコマンドを打つことで、LINE にメッセージを送ることができます。
LINE Notify というサービスです。
これを行うには、access_token なるものを入手する必要があります。入手方法は、こちらのページを参照してください。
さて、60爺も、このシェルをもらって早々に試してみました。access_token を取得して、上記 curlコマンドの {access_token} にセットします。
そして、LINE.shと言う名前を付けて実行してみました。
mizutan@raspbian:~ $ ./LINE.sh test
すると、LINE Notify宛に、メッセージが届きました。
LINE Notify へのメッセージ送信について
curl コマンドを下記に再掲しますが、オプションを指定することで、LINE Notifyにメッセージを送ることができます。
curl -X POST -H "Authorization: Bearer ${access_token}" -F "message=${subject}: ${body}" https://notify-api.line.me/api/notify
オプションを簡単に解説しておきます。
- -X :リクエストメソッドの指定
- -H :リクエストヘッダの指定
- -F :フォームデータの送信
- URL:LINE Notifyの通知用エンドポイント
LINE Engineering BLOGにLINE Notifyに関する記事があったんですが、現在では、次のドキュメントしかないようですね。
この中で送付できるメッセージの解説の他、LINEにあるステッカーをメッセージと一緒に送信する方法が書いてあります。
LINE Notify にステッカーを送付
上述したように、メッセージだけではなくステッカーも curl コマンドを使用するだけで実行できるようです。
早速試してみましょう。
curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN' -F 'message=test' -F 'stickerPackageId=1' -F 'stickerId=113'
アクセストークンに、60爺のそれを設定して送ってみたところ、LINE Notify にメッセージ(test)とステッカーが送付されてきました。
応用編
Pythonで、「ステッカー ランダム表示」:仕事終了10分前に LINE Notify にステッカーとメッセージを送付、「天気予報表示」:今日明日の天気予報を取出して、毎朝6時50分に LINE Notify に送付の2つのプログラムを作成しました。
ステッカー一覧があることに気づいたので、以下の仕様に従って Python でプログラムを書いてみました。
- 仕事の終了時間10分前に、LINE にステッカーとメッセージを送ります。
- ステッカーは、毎回、ランダムに選択します。
- 土日は仕事がないので送らないようにしています。
今日明日の天気予報を取出して、毎朝6時50分に LINE Notify に送付するようにしました。
こちらは、ステッカーの代りに天気予報から得た天気に従って、自分で作成した天気の画像を選択して送付しています。
最後に
Line Notifyなるサービスがあると教えてもらったのは、既に7年も前のことなんですね。
LineがYahoo!と一緒になったり、巷では様々なことが起きています。
ですから、Line Notifyの記事が消えていたことも、今回、リンクチェッカーで教えてもらった次第です。
Line Notifyでは、今でも、今日明日の天気を定時に教えてもらっていますよ。
ディスカッション
コメント一覧
まだ、コメントがありません