【Python】LINEでメッセージを自動で通知させる

プログラミング

以前、Gmailでメッセージを送信する方法を紹介しました。その際に、

GmailとLINEの両方を使い分けることが出来れば良いね。

なんて事を言ったので、今回はLINEでメッセージを自動で通知する方法を紹介します。

スポンサーリンク

LINE Notifyにログインする

LINE NotifyとはLINEが公式に提供しているサービスの一つで、外部のWebサービスやアプリケーションとAPI連携して、それらの通知をLINEのメッセージ機能を通じて送れるサービスです。

まずはLINE Notifyのトップページに行き、自身のLINEアカウントを使いログインします。

ログインが完了したら、画面右上に自分のプロフィール画像が表示されます。それをクリックして【マイページ】に飛びます。

新しいページに飛んで下にスクロールすると、【アクセストークンの発行(開発者向け)】という箇所が現れます。ここでLINE通知システムを作成するのに必要なトークンを発行します。

ページを進むとトークン名を記入する箇所と、トークルームを選択する箇所があります。

トークン名は通知の際に一番最初に表示されるもので、好きな名前を付けましょう。

トークルームは自分一人で良い場合は一番上の「1:1でLINEから通知を受け取る」を選択、複数人いる場合はアカウントを選んでグループを作ります。LINE Notifyもグループに招待することを忘れないようにしましょう

選択したら【トークンを発行】ボタンを押してトークンをコピーして下さい。

注意:Firefoxでトークンを発行しようとして発行ボタンが出てこない事態が発生しました。Google Chromeで再度ためしたところ問題なく発行できたため「発行ボタンなんかねぇぞコノヤロウ!」ってなった時はブラウザを変更してみて下さい。

コードを書く

無事トークンを取得したら、いよいよコードを書いていきます。以下のコードが基本形です。

token = input("Token: ")    # 発行したコード
url = "https://notify-api.line.me/api/notify"  # 公式ドキュメントにあったURL
message = "message"  # メッセージの欄、文字列でなくて関数の戻り値なども読める
payload = {"message": message}
headers = {"Authorization": "Bearer " + token}  # Bearerの直後にスペースを入れる!
requests.post(url, data=payload, headers=headers)

tokenの部分をinput関数にしていますが、コードを誰にも見せるつもりがないのならトークンを直に書いても大丈夫でしょう。

三行目の “message” はGmailのようにテキスト以外も認識できるため、他形式のデータを代入することも出来ます。

たとえば、webスクレイピング関数を作って return で実行結果を返したとして、それを message に代入することも出来るわけです。

コレを応用して2つのシステムを作りました、webコミックの更新を通知するシステムと、夜中12時1分にGoogle Analytics のPV数を通知するシステムです。

Gmailよりも使いやすいポイント

会社など公の場ではLINEはGmailに比べて使いづらい雰囲気ですが、LINEにはGmailに勝る部分が幾つかあります。

以下で LINE Notify を使うメリットを紹介していきます。

確認しやすい

LINEで通知させる一番のメリットは簡単に確認できることです。

通常のメールに比べて使う頻度が圧倒的に高いLINEなら、他の人とトークしている間にもさっと確認出来てしまう手軽さがあります。

しかも通知が数十分に一回の場合、メールでは通知ごとに情報が区切られています。

対してLINEは通知が全部トークルームに送られるため、前の通知をスクロールで確認することが出来ます

いちいち閉じて開いてが必要なメールは、この面はどう頑張ってもLINEには勝てません。

送る側はデータ形式を気にしなくて良い

LINEは送るコンテンツのデータ型を気にしなくて良い反面、Gmail経由ではSMTPかMIME形式かでコーディングが微妙に変わります。

慣れてしまえばどっちも似たようなものだと思えますが、初心者にとっては悩みの種になるかもしれません。

リンクを貼ったら要約カードが表示される

面白いことにLINEはリンクを貼ったらようやくカードが表示されます。

要約カードがあれば見栄えも良くなり、個人的にモチベーションアップに役立っています。

まとめ

以上、Pythonを使ってLINEでメッセージを送る方法の紹介でした。

LINE Notify はAPIの中でも登録しやすい部類に入ると思います。しかもLINEは一般的に使用頻度が高いので、そのぶん実生活の貢献度も大きくなると思います。

みなさんも是非 LINE Notify を試してみて下さい。