LoginSignup
20

More than 3 years have passed since last update.

LINE NotifyをPythonでお試し

Last updated at Posted at 2019-11-17

LINE Notifyは、外部のWebサービスと連携させて、そこからのメッセージをLINEのトークルームで受信できる通知機能です。
指定されたLINE NotifyのURLにメッセージを投げる(POSTする)ことで自分のLINEのトークルームにそのメッセージを送ることができるので、自分でプログラムを書いて利用することも簡単。ということで、Pythonで試してみましょう。(既にほぼ同内容の記事がありますが、自分の備忘録ということで。。。)

1. LINE Notifyの初期設定

  1. 上のページから自分のLINE IDでログイン
  2. 右上の自分の名前のところからマイページにアクセス
  3. 「アクセストークンの発行(開発者向け)」から「トークンを発行する」を選ぶ LINEnotify1.png
  4. 「トークンを発行する」画面で、
    • トークン名を記入(毎回メッセージの最初に表示されるのでなるべく簡単に)
    • 「1:1でLINE Notifyから通知を受け取る」で自分だけに通知が来ます。他にLINEグループも選択できます。選んだら「発行する」。
      LINEnotify2.png
  5. トークンをコピペ
    LINEnotify3.png
  6. トークンを発行すると自分のLINEにLINE Notifyからメッセージが来ます
    LINEnotify4.png

2. Pythonスクリプト

これだけです。

import requests
token = "XXXXXXXXXXXXXXXXXXXXXXXX"
url = "https://notify-api.line.me/api/notify"
headers = {"Authorization": "Bearer " + token}
payload = {"message": "テストメッセージだよ"}
requests.post(url, headers=headers, data=payload)

指定のURLに"message"を伝えてあげることで、認証情報(アクセストークン)をもとに、LINEがそのメッセージを自分のところへ届けてくれます。XXXの羅列は上でコピペしたトークンに代えてください。

このスクリプトを実行すると、以下のようにLINE Notifyからメッセージが来ます(設定したトークン名が[ ]で囲われたところに表示されます)。
LINEnotify5.png

簡単ですね!!!


補足

アクセストークンのような他人に漏れるとヤバい情報をコードの中に書くのはよろしくないので、OSの環境変数に書いておき、スクリプトの中でそれを読み込む、という形が良いようです。
(シェルがbashの場合)~/.bash_profileに
export LINE_ACCESS_TOKEN="XXXXXXXXXXXXX"
を書き込んでアクセストークンを環境変数に設定し、上のPythonコードの上2行を

import os, requests
token = os.environ["LINE_ACCESS_TOKEN"]

に変更します。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20