【LINE】PythonでLINE通知【10分】

こんにちは。oyanです。
今日は、PythonからLINE通知する方法をご紹介します。

ちょっとした、IoT機器を作りたいな。とか考えてます。
何かというと、
自宅の郵便ポストの中に小さな装置を付けておいて、
郵便物が入ったときに、スマホ(LINE)通知したいな。と。

やることは大きく分けるとたった2つです。

Step1:LINEトークンを取得する

LINE通知を行うには、LINEが提供しているLINE Notifyという機能を使います。
この機能を使うには、LINEにてトークンを発行して取得します。

まずは、以下のURLにアクセスして、自身のLINEアカウントでログインします。
https://notify-bot.line.me/ja/

memo 自身のLINEアカウントのログイン情報が分からない場合、
スマホのLINEアプリの設定画面を開きます。
設定画面のアカウントをタップします。
すると、アカウント情報が表示されますが、
この画面のメールアドレスがログイン情報となります。

手順1:ログイン

右上の「ログイン」をクリックします。

自身のLINEアカウントの「メールアドレス」と「パスワード」を入力して、
「ログイン」をクリックします。

ログインできたら、右上の「マイページ」をクリック。

「トークンを発行する」をクリック。
「トークン名」を入力し、
通知する「トークルーム」を選択して、トークンを発行する。
(ここでは、「1:1でLine Notifyから通知を受け取る」を選択した。

memo 通知を送信するトークルームは、予め仲間内でトークルームを作っておき、
そのトークルームを選択すると、仲間内にもLINE通知することができます。

発行されたトークンは以下のようにして即時に表示されます。
このトークンはStep2で使うのでコピーしておいてください。

以上で、LINEトークンの発行は完了です。

Step2:Pythonでプログラミング

以下のプログラムを作成して実行します。

import requests

LINE_NOTIFY_ACCESS_TOKEN = '{{LINEトークン}}'
LINE_NOTIFY_API_URL = 'https://notify-api.line.me/api/notify'

def main():
    message = "こんにちは!"
    lineNotify(message)

def lineNotify(message):
    line_notify_token = LINE_NOTIFY_ACCESS_TOKEN
    line_notify_api = LINE_NOTIFY_API_URL
    payload = {'message': message}
    headers = {'Authorization': 'Bearer ' + line_notify_token}
    requests.post(line_notify_api, data=payload, headers=headers)

if __name__ == '__main__':
    main()
memo 3行目の ‘{{LINEトークン}}’ は、
Step1で取得したLINEトークンに置き換えてください。
# 実際にはこのような感じになります
LINE_NOTIFY_ACCESS_TOKEN = 'k61aJaI3D9nqp2V53dZRWH02GCEilSm5nEgywuHX03E'

実行すると以下のようにLINE通知されます。

[テスト送信]となっているこの [] の中のメッセージは、
Step1にてLINEトークン発行時に「トークン名」に指定した文字列が表示されます。

memo LINEトークンは何個も発行することが可能です。
必要に応じて「トークン名」を変えて新しくトークンを発行してください。

以上です。とても簡単にLINE通知を作ることが出来ました。
アイデア次第で便利な機能の作ることが出来そうです。
皆さんもぜひお試しを!

ではまた。