追記: LINE Notifyは2025年3月31日にサービスを終了します。代替手段として Messaging API についての記事を書きました。
Pythonでプログラムを長時間走らせる際、進捗状況やエラーをLINEに通知できると便利です。LINE Notify API を使うと簡単に実現できます。
アクセストークンを発行する
まず Line Notify に行き、アクセストークンを発行します。
Line Notify ページ右上の「ログイン」からLINEのアカウントでログインします。ログイン後、右上のユーザー名のところから、マイページを表示します。
マイページ下部の「トークンを発行」をクリックします。
トークン名を記入します。自分だけに通知する場合には「1:1でLINE Notifyから通知を受け取る」を選択します。グループに通知する場合には、通知先のグループを選択します。次に「発行する」をクリックします。
発行されたトークンが表示されます。このトークンは二度と表示できないので、必ずコピーして保存しておきます。
マイページで連携されていることを確認できます。
トークンを発行すると、LINE Notify が自動的に友だちに追加され、トークンを発行したことが通知されます。
Pythonからメッセージを送る
PythonからLINEにメッセージを送るには次のようにします。日本語のメッセージを送るときには、UTF-8 で記述します。
import requests
url = "https://notify-api.line.me/api/notify"
access_token = 'アクセストークン'
headers = {'Authorization': 'Bearer ' + access_token}
message = 'テストメッセージ'
payload = {'message': message}
r = requests.post(url, headers=headers, params=payload)
実行すると次のようなメッセージが届きます。
LINE Notify の詳細は公式ドキュメントの「通知系」の項目を参照してください。画像を送ることもできます。
LINEにメッセージを送信するためにはHTTPのPOSTリクエストを送信できればよいので、Pythonに限らず、様々な手段を使うことができます。例えばコマンドラインから curl コマンドを使って次のようにメッセージを送信することもできます。
curl -X POST -H "Authorization: Bearer アクセストークン" -d "message=hoge" https://notify-api.line.me/api/notify
コメント