Herokuの設定
Herokuの設定とスクレイピングの定期実行の記事に関しては以下を参照。
今回の記事は、LINEに通知する方法をメインに記事を書いていきます。
LINEへの通知について
・最初はLINE BOTを使って何かしようとしていました。
その場合、DjangoやFlaskなどを使ってやる方法がありましたが、もっと手軽にできればということで、LINE NotifyというLINEの通知機能を使いました。
出来ることは
・LINE Notifyから自分自身に通知する
・LINEグループへLINE Notifyが通知する
という2種類です。
どちらの設定もめっちゃ簡単ですし、ローカルでそのままテストも出来るので、面白いと思います。
まず基本コードはこちらになります。
import requests
# LINE Notifyのアクセス(自分が発行したトークンへ変更)
line_notify_token = '**********************'
# LINE NotifyのAPIアドレス(このままでOK)
line_notify_api = 'https://notify-api.line.me/api/notify'
# 送りたいメッセージ内容
message = "テストメッセージ"
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token}
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
上記を実行すると、LINE Notifyから「テストメッセージ」というメッセージが届きます。
LINE Notifyの設定方法
1.アカウントを発行する
https://notify-bot.line.me/ja/
2.マイページにいく
https://notify-bot.line.me/my/
3.トークンを発行するをクリックする
4.トークン名と通知先のグループを決める
※上記で決めたトークン名は通知の時に表示されます。以下のような感じです。
mytokenと登録したので、mytokenと表示されています。
5.発行したトークンをコピーする
6.発行しましたよ!と通知がくる。
7.コードのtokenのところへ貼り付ける。
line_notify_token = '**********************'
8.実行すると、LINEへ通知されるようになります。
以下の部分が通知されます。
message = "テストメッセージ"
※1:1ならこれでOKですが、グループの場合、LINE Notifyをグループに招待しないと、いけません。招待していないと以下のようなメッセージが通知されます。
メッセージを通知する時の工夫
1.メッセージの内容をそのままリストを指定すると、横並びになる。
# 送りたいメッセージ内容
line_message =["A","B","C","D"]
# リストをそのまま通知
message = line_message
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token}
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
2.リストの内容を改行して通知する方法
# 送りたいメッセージ内容
line_message =["A","B","C","D"]
# 改行して通知
string = "\n".join(line_message)
message = '\n' + string
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token}
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
まとめ
Herokuの使い方はこの記事では取り扱いませんでしたが、上部にあるリンクに詳細を記載しています。
今回は、最終結果としてLINEで通知する方法をまとめました。
上記コードのまま、Herokuでも使えます。