以前、Gmailでメッセージを送信する方法を紹介しました。その際に、
GmailとLINEの両方を使い分けることが出来れば良いね。
なんて事を言ったので、今回はLINEでメッセージを自動で通知する方法を紹介します。
LINE Notifyにログインする
LINE NotifyとはLINEが公式に提供しているサービスの一つで、外部のWebサービスやアプリケーションとAPI連携して、それらの通知をLINEのメッセージ機能を通じて送れるサービスです。
まずはLINE Notifyのトップページに行き、自身のLINEアカウントを使いログインします。
ログインが完了したら、画面右上に自分のプロフィール画像が表示されます。それをクリックして【マイページ】に飛びます。
新しいページに飛んで下にスクロールすると、【アクセストークンの発行(開発者向け)】という箇所が現れます。ここでLINE通知システムを作成するのに必要なトークンを発行します。
ページを進むとトークン名を記入する箇所と、トークルームを選択する箇所があります。
トークン名は通知の際に一番最初に表示されるもので、好きな名前を付けましょう。
トークルームは自分一人で良い場合は一番上の「1:1でLINEから通知を受け取る」を選択、複数人いる場合はアカウントを選んでグループを作ります。LINE Notifyもグループに招待することを忘れないようにしましょう。
選択したら【トークンを発行】ボタンを押してトークンをコピーして下さい。
コードを書く
無事トークンを取得したら、いよいよコードを書いていきます。以下のコードが基本形です。
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 を試してみて下さい。