pythonでLINE notifyを利用してみた
はじめに
どうも、こじまるです。
『Web Serviceの情報をLINEに通知したい』などと悩んでいませんか?そんな方に向けて、『pythonを使ってLINEに通知する』ための方法を記事にまとめました。
- LINE Notifyの始め方
- pythonでLINEに通知を送る方法
本記事で紹介する方法を実践すれば、下記のようにpythonを使ってLINEに画像やテキストを通知することができます。
LINE Notifyによる通知
LINE Notifyとは
LINE Notifyとは、メッセージアプリ『LINE』が提供するサービスです。Web Serviceと連携することで、LINEの公式アカウント『LINE Notify』アカウントに通知を送ることができます。
最近では、IFTTTといったWebサービス同士を連携させるサービスを活用し、例えば『メールが届いた時』に『LINE notifyで通知をする』といった形で使用されています。IFTTTは下記記事で紹介していますので、興味がありましたらみてください。
LINE Notifyの始め方
1.LINE Notifyにアクセスし、LINEアカウントでログイン
2.マイページに遷移
3.アクセストークンの発行
5.アクセストークンのコピー
以上で、LINE notifyの設定は終了です。発行したアクセストークンはpythonで通知を飛ばすために必要です。
LINE notifyはOAuth2.0という仕組みを使って、LINEへの通知を実現しています。下記記事で分かりやすく解説されていました。
qiita.com
pythonで通知を飛ばす方法
環境設定
pythonで通知を飛ばすために、requestsが必要です。requestsがインストールされていない場合にはpipを使ってインストールしてください。
pip install requests
LINE notifyでメッセージを送信する方法
LINE notifyでメッセージを送信するために、LINE Notifyの仕様書に準ずる形でリクエストを行う必要があります。メッセージの送信のために、ヘッダにアクセストークンが必要になります。
def send_message(url, message): api_token = '' // something value headers = {'Authorization': f'Bearer {api_token}'} data = {'message': f'message: {message}'} response = requests.post(url,headers=headers,data=data) print(response) if __name__ == '__main__': notification_url = 'https://notify-api.line.me/api/notify' send_message(notification_url,'Test')
実行結果
LINE notifyで画像を送信する方法
def send_image(url, message, file_path): api_token = '' // something value headers = {'Authorization': f'Bearer {api_token}'} data = {'message': f'message: {message}'} files = {'imageFile':open(file_path,'rb')} response = requests.post(url,headers=headers,params=data,files=files) print(response) if __name__ == '__main__': notification_url = 'https://notify-api.line.me/api/notify' send_image(notification_url,'Test','cojimaru_image.png')
実行結果
まとめ
最後に、ご紹介した内容をおさらいしていきます。
LINE notifyを使用するためには、下記の手順が必要になります。
ご紹介した内容を実践すれば、初心者の方でもpythonを使ってLINEに画像やテキストを通知することできます。株価情報の自動配信の記事なども出していますので、ぜひ見てください。
cojimaru-chan.hatenablog.com