LINE Notify トーク テキスト 画像 送信 Python

今回は、LINE(ライン)のトークに、簡単なテキストと画像を送信するメモとなります。

コードはPythonで実装し、トーク通知用APIのLINE Notify(https://notify-bot.line.me/ja/)を利用します。

 

前提として、LINEアカウントを持っていて、

送信対象のトークが存在している前提での内容となります。

 

私の手元では、PyCharmでPythonを書いて試してみました。

同じ様にPyCharmを利用する場合、以下を参考にプロジェクトを作成してみて下さい。

Python PyCharm HelloWorld

 

テスト環境

・OS:mac OS Sur 11.5.2

・PyCharm CE:2021.3

・Python:3.9

 


LINE Notify 簡易概要

LINEのトークに簡単に、テキストや画像などの情報を送信できる連携用サービスです。

  • LINEアカウントを持っていれば利用可能(基本無料)
  • 自分のアカウントが参加しているトークルームに、情報をリクエスト送信可能
  • 1ユーザーあたり100個までトークンを発行可能
  • 1つのユーザー連携につき、デフォルト1時間に1000回までリクエスト送信可能

詳細は公式情報を参照ください。

LINE Notify API Document

 


LINE Notify アカウント登録

まずは、LINE Notifyを利用するために、

LINE NotifyにLINEアカウントでログインを行います。

・LINE Notify(https://notify-bot.line.me/ja/)

LINE Notify

 

LINE Notify

 

 


アクセストークン発行・連携

ログインしたら、実装用のトークンを発行します。

2022/1/16時点では、マイページの下部より発行できます。

LINE Notify token

アクセストークンの発行(開発者向け)の部分にある、

トークンを発行するをクリックして発行します。

LINE Notify token

トークンを発行する画面が表示されたら、

任意のトークン名を入力し、対象のトークルームを選択して、発行するボタンをクリックします。

LINE Notify select talk room

 

トークルームと連携されると、連携中サービスに表示されます。

連携を解除する場合は、削除ボタンをクリックします。

LINE Notify delete token


トーク メッセージ送信

まずは、トークにメッセージを送信させてみます。

import requests


def main():
    send_line_notify('てすとてすと_abc')


def send_line_notify(notification_message):
    # LineNotify 連携用トークン・キー準備
    line_notify_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    line_notify_api = 'https://notify-api.line.me/api/notify'

    # httpヘッダー設定
    headers = {'Authorization': f'Bearer {line_notify_token}'}

    # トーク送信メッセージ設定
    data = {'message': f'message: {notification_message}'}

    # Post実行
    requests.post(line_notify_api, headers=headers, data=data)


if __name__ == "__main__":
    main()

 

LINE Notify python

以下のトークン部分は、自身で発行したトークン文字列を指定して下さい。

# LineNotify 連携用トークン・キー準備
line_notify_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

PyCharmの緑三角マーク(実行ボタン)などから、プログラムを実行します。

LINE Notify python pycharm

 

実行後、LINEアプリなどで確認を行います。

今回は、LINE Notifyのトークルームに送信しました。

LINE Notify Application

 

送信されるメッセージは、messageで指定された文字列が送信されます。

def main():
    send_line_notify('てすとてすと_abc')

def send_line_notify(notification_message):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
省略
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# トーク送信メッセージ設定
data = {'message': f'message: {notification_message}'}

 

LINE Notify python

 


トーク 画像 送信

今度は、画像を送信してみます。

import requests, os


def main():
    send_image_line_notify()


def send_image_line_notify():
    # カレントディレクトリを、送信画像が配置されているパスに変更
    os.chdir(os.getcwd() + '/png')

    # LineNotify 連携用トークン・キー準備
    line_notify_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    line_notify_api = 'https://notify-api.line.me/api/notify'

    # payload・httpヘッダー設定
    payload = {'message': 'テスト通知1'}
    headers = {'Authorization': 'Bearer ' + line_notify_token}

    # 送信画像設定
    files = {'imageFile': open("110.png", "rb")}  # バイナリファイルオープン

    # post実行
    line_notify = requests.post(line_notify_api, data=payload, headers=headers, files=files)


if __name__ == "__main__":
    main()

 

LINE Notify python

以下のトークン部分は、自身で発行したトークン文字列を指定して下さい。

# LineNotify 連携用トークン・キー準備
line_notify_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

また、今回はpngというフォルダを用意して、

事前に送信用の画像を準備しておきました。

LINE Notify sample image

プログラム上で、送信対象の画像をファイル名指定しています。

# 送信画像設定
files = {'imageFile': open("110.png", "rb")} # バイナリファイルオープン

また、今回は事前にプログラムの実行ディレクトリを、

画像の配置ディレクトリに変更していますが、相対パス指定などでも実行できると思います。

# カレントディレクトリを、送信画像が配置されているパスに変更
os.chdir(os.getcwd() + '/png')

 

今回も、PyCharmの緑三角マーク(実行ボタン)などから、プログラムを実行します。

LINE Notify python pycharm

 

LINE Notify application talk

 


 

今回のメモは以上となります。

LINEは、国内で多く利用されているサービスですので、

簡単にメッセージを送信できるようになるLINE Notifyは重宝します。

特に、個人利用レベルであれば、LINE Message APIよりもお手軽で良いと思います。

Python以外でも実装できますので、ぜひお試し頂ければと思います。


------------------------------------------ スポンサーリンク ------------------------------------------
都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 137

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る