LINEでプッシュ通知をしたい
デバイスを作って、その情報を伝えるのにLINEが使えたら便利ですよね。
LINE APIって数年前に盛り上がって、現在は情報が少なめ。
古い情報なども多く、うまくいかない事がたくさんありました。
その備忘録です。
この記事の対象
Pythonを使ってLINEでプッシュ通知したい
プログラミング初級者
情報収集
LINE developers(https://developers.line.biz/ja/)の中にMessaging APIというのがあって、これでプッシュ通知できそう。
Messaging APIはプッシュ通知だけじゃなくて、応答メッセージも送れるみたい。
応答メッセージを送るには、webhookを使う必要があるけど、プッシュ通知だけなら必要なし。
Flask(Pythonのフレームワーク) + Heroku(いけてるサーバ)の組み合わせが流行ってる見たい。
実際に試した事
PythonでLINEの「Messaging API」でテンプレートメッセージを実装してみた | https://qiita.com/kotamatsuoka/items/c4e651f1cb6c4490f4b8 |
【LINE Botの作り方】Python × Messaging APIでプッシュ通知を行うボットを作ろう | https://www.takeiho.com/line-bot-push |
たったの3行でpython簡易webサーバを構築する手順【入門者向け】 | https://sinyblog.com/python/simple_web_server/ |
LINE公式アカウントのサービス統合に伴いフリープランでMessaging APIのPUSH機能が使えるようになりました(送信数制限は有り) | https://dev.classmethod.jp/articles/mrmo-lineapi-20190419/ |
LINEボットを作る(プッシュ編) | https://imoni.net/tips/00xx/0012.html |
うまく行った方法
herokuへのデプロイがうまくできず、Flask+herokuの方法は断念。
結局、python一枚のシンプルなやつでうまくいけました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
"""LINE Push""" import json import requests # HTTPヘッダを設定 HEADERS = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + '<チャネルアクセストークン>', } # POSTデータを設定 POST = { 'to': '<あなたのユーザーID>', 'messages': [ { 'type': 'text', 'text': 'カレーぱんが焼けました!' } ] } # 実行 CH = 'https://api.line.me/v2/bot/message/push' REQ = requests.post(CH, headers=HEADERS, data=json.dumps(POST)) # HTTPステータスが 200 だったら OK print(REQ.status_code) if REQ.status_code != 200: print(REQ.text) |
引用 imoniの開発Blog
https://imoni.net/tips/00xx/0012.html