PythonでLINEに通知を送る
はじめに
今回はPythonでLINEに通知を送る方法について記事を書いてみました。
少しでも参考になれば幸いです。
LINE Notifyのアクセストークンの発行
今回はLINEが提供している公式アカウントであるLINE Notifyを利用します。
LINE Notifyは、LINEと外部のサービスやアプリを連携して通知を受け取ることができるサービスです。
無料で使用できるため、活用までのハードルが低いのも特徴です。
以下のリンクからLINE Notifyのサイトにアクセスすることができます。
LINEアカウントでログインし、右上にある自身のアカウント名を押してマイページに進みましょう。
次に、アクセストークンの発行の「トークンを発行する」を押して進みましょう。
すると、トークン名を記入し、通知を送信するトークルームを選択することができます。
ここで、1:1でLINE Notifyから通知を受け取ると選択するとLINE Notifyの公式アカウントから通知を受け取ることができます。
これによって、アクセストークンを発行することができます。
このアクセストークンを利用することでLINEに通知を送ることができるようになるので、発行したアクセストークンを必ず控えておくことを忘れないようにしましょう。
アクセストークンを発行すると、LINE Notifyの公式アカウントからアクセストークンを発行したことを知らせる通知が来ます。
もしアクセストークンが外部に流出してしまったり、もう使わなくなったりした場合には同じリンクから削除することもできるため安心です。
PythonでLINEに通知を送ってみよう
LINE.pyというファイルを作成し、以下のように書き込みました。
# requestsモジュールのインポート
import requests
# 送信するメッセージを定義
linemsg = 'Raspberry Piからの通知だよ!'
# LINE Notifyのアクセストークンを定義
token = "xxxxxxxx" # アクセストークンに置き換えてください
#LINEメッセージ送信の関数
def LINE_message(msg):
# APIエンドポイントのURLを定義
url = "https://notify-api.line.me/api/notify"
# HTTPリクエストヘッダーの設定
headers = {"Authorization" : "Bearer "+ token}
# 送信するメッセージの設定
message = (msg)
# ペイロードの設定
payload = {"message" : message}
# POSTリクエストの使用
r = requests.post(url, headers = headers, params=payload)
# 関数の呼び出し
LINE_message(linemsg)
以下に、プログラムの詳細な説明をします。
-
import requests
:requests
モジュールをインポートします。このモジュールは、HTTPリクエストを送信するためのPythonライブラリです。 -
linemsg = 'Raspberry Piからの通知だよ!'
: 送信するメッセージを定義します。ここでは、"Raspberry Piからの通知だよ!"というメッセージがlinemsg
変数に格納されています。 -
token = "xxxxxxxx"
: LINE Notifyのアクセストークンをtoken
変数に格納します。 -
def LINE_message(msg)
: LINEメッセージを送信するための関数LINE_message
を定義します。この関数は、引数としてmsg
を取ります。 -
url = "https://notify-api.line.me/api/notify"
: LINE NotifyのAPIエンドポイントのURLを定義します。 -
headers = {"Authorization" : "Bearer "+ token}
: HTTPリクエストヘッダーを設定します。これには、アクセストークンが含まれています。 -
message = (msg)
: 送信するメッセージを設定します。引数msg
から取得します。 -
payload = {"message" : message}
: 送信するメッセージをペイロードに設定します。 -
r = requests.post(url, headers = headers, params=payload)
: POSTリクエストを使用してLINE Notifyにメッセージを送信します。url
はエンドポイント、headers
はヘッダー、payload
はデータを指定します。 -
LINE_message(linemsg)
: 実際にLINE_message
関数を呼び出し、linemsg
変数に格納されたメッセージを送信します。
このプログラムをRaspberry Pi上で実行すると、linemsgに格納した文章をLINEに送信することができました。
格納する文章を変更することで、睡蓮花を送信してみたり⋯
真面目にRaspberry Piで取得したセンサ情報を送信してみたり⋯!
私はRaspberry Pi上でプログラムを実行しましたが、その他の環境でも実行できるはずです!
さいごに
ここまで記事を読んでくださりありがとうございました!
送信する情報や関数を呼び出す場所を変更することによって、様々な通知をLINEに送ることができるようになります!
今回、私はPythonを使用しましたが、他の言語で送信するのも面白そうですよね!
皆さんも素敵なハッピーLINE Notifyライフを!!!🌸
Discussion
2025年3月31日をもって、LINE Notifyのサービスが終了してしまうようです⋯
そのため、2025年4月以降はこの記事の内容を試すことができなくなります。
悟空よ、神龍に伝えてくれ…
LINE Notifyをありがとうとな…