本記事により、
- Python入門者の方
- Line Notifyって何?
という方でも
- PC上のPythonコードから、Lineに「メッセージや、画像」を送信する方法
を習得できます。
Line Notifyとは
Line Notifyの主な特徴は、以下の通りです。
- アプリケーション、Webサービス等から、プッシュ通知を送れる
- 無料で使用可能(一部、有料)
- 定期/不定期に、通知することが可能
- 様々な外部サービスと、連携可能(GitHubとか)
LINEが提供する公式アカウント「LINE Notify」から、通知されることになります。
下記写真の、送信者をご参照ください。
◆ 筆者の使用事例
金融の自動売買システムを運用しています。
「売買成績を Lineで自分に通知」 する使い方をしています。
「好きなイラスト」も併せて、送ってます(笑)
Line Notify の使い方
Line Notify 使い方の流れは、以下の通りです。
下記①〜②は、Line Notify サイト上で実施します。
- Line Notifyのサイトにログイン
- 通知先を選択し、アクセストークンを発行
- プログラムより、Line通知を送信する
順番に紹介していきます。
Line Notify のサイトにログイン
下記サイトにアクセスして、ログインして下さい。
登録メールアドレスが、分からない方は、下記方法で確認できます。
- スマホのLineアプリを立上げ、ホーム画面に移動
- 「設定」をタップ(右上の、歯車アイコン 等)
- 「アカウント」をタップ
- 「メールアドレス」を確認
通知先を選択し、アクセストークンを発行
- TopPage右上の「ユーザ名」をクリック
- メニューが開くので、「マイページ」をクリック
マイページ画面に遷移します。
- 画面下部の、「トークンを発行する」をクリック
アクセストークン 発行画面に遷移します。
- トークン名(任意でOK)を入力 (通知時に表示)
- 送信先を選択
- 自分に送信する場合は、下絵の「1:1でLine ・・・」を選択
- トークルーム名を選択する事も可能
- 「発行する」をクリック
アクセストークンがポップアップで表示。
トークンの文字列が、ポップアップで、表示されます。
必ず、メモして下さい。
アクセストークンは、本画面が閉じられると、再表示するできません。
その際は、再発行して下さい。
プログラムより、Line通知を送信する
必要なパッケージのインストール
「requests」ライブラリを使用します。
下記コマンドにて、インストールして下さい。
pip install requests
pipを詳しく知りたい方は、こちら
メッセージを送信する場合
コード全体を紹介した後に、要点を記しました。
import requests
# 取得したTokenを代入
line_notify_token = '取得したトークン'
# 送信したいメッセージ
message = '送りたいメッセージ'
# Line Notifyを使った、送信部分
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}
data = {'message': f'{message}'}
requests.post(line_notify_api, headers=headers, data=data)
- 上記コード中の、line_notify_token に、「取得したトークン」を記載して下さい。
- 送信先URLは、コード中に記載したURL( line_notify_api 部分 )になります。
- POST送信時のヘッダーには、トークン認証のため、Bearer を使用しています。
POST送信する際は、ネットワークエラー等により、例外が発生する可能性があります。
try文を使うべきですが、上記コードは、分かりやすさ優先のため、省略しています。
メッセージ送信結果
画像を送信する場合
コードを紹介した後に、要点を記しました。
import requests
# 取得したTokenを代入
line_notify_token = '取得したトークン'
# 送信したいメッセージ
message = '送りたいメッセージ'
# Line Notifyを使った、送信部分
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}
data = {'message': f'{message}'}
# 送信用の画像を準備
files = {'画像ファイルへのパス': open('gazou.png', 'rb')}
requests.post(line_notify_api, headers=headers, data=data, files=files)
- 上記コード中の、line_notify_token に、「取得したトークン」を記載して下さい。
- 上記コード中の、画像ファイルへのパスは、’./test.jpg’ みたいな形で、記載して下さい。
メッセージ送信結果
メッセージを送信してから、画像が送信されます。
最後に
Line Notifyを使った、Pythonコードをご紹介しました。
思ったよりも簡単で、拍子抜けされた方もいるかと思います。
今後ですが、「ディープラーニングで作った画像を、Line Notifyで送信する」という記事を、作ってみようかな? とも思っております。
ふとした瞬間に、「クスッ」と笑えるものが、いいと思いました(笑)
それではまた、お会いしましょう!