LINEのAPIで画像を添付する[Python]

Pythonを使ってLINEに画像付きメッセージを送信する方法
今回は、Pythonを使用してLINEのメッセージAPIを通じて、テキストメッセージと画像を送信する方法について説明します。この機能は、日々の通知、アラート、あるいは単に友人や家族との共有に非常に便利です。

必要なもの

Pythonのインストール
LINE Notifyのアクセストークン(LINE NotifyのWebサイトから取得)

コードの概要

以下のスクリプトは、LINEのメッセージAPIを使って、テキストメッセージや画像を含むメッセージを送信します。スクリプトの主要部分を解説します:

import requests

def lineApi(lineToken, message, image):

    line_notify_api = 'https://notify-api.line.me/api/notify'
    payload = {'message': message}
    headers = {'Authorization': 'Bearer ' + lineToken}

    if not image:
        # messageOnly
        requests.post(line_notify_api, data=payload, headers=headers)
    else:
        # messageAndImage
        files = {'imageFile': open(image, 'rb')}
        requests.post(line_notify_api, data=payload, headers=headers, files=files)

if __name__ == '__main__':

    lineToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    message = 'sendMessege'
    image = 'image.jpg' # or fullPath

    lineApi(lineToken, message, image)

この関数は、LINEのトークン、送信するメッセージ、およびオプションの画像パスを引数として受け取ります。

    line_notify_api = 'https://notify-api.line.me/api/notify'
    payload = {'message': message}
    headers = {'Authorization': 'Bearer ' + lineToken}

ここでAPIのエンドポイント、メッセージの内容、および認証用ヘッダーを設定しています。

    if not image:
        requests.post(line_notify_api, data=payload, headers=headers)
    else:
        files = {'imageFile': open(image, 'rb')}
        requests.post(line_notify_api, data=payload, headers=headers, files=files)

image引数がない場合は、テキストのみのメッセージを送信します。画像が指定されている場合は、その画像を添付してメッセージを送信します。

使い方

LINE NotifyのWebサイトからアクセストークンを取得します。
このスクリプトをPythonファイルとして保存し、トークンとメッセージ、必要に応じて画像のパスを指定して実行します。

まとめ

この簡単なスクリプトを使って、LINEを通じてテキストメッセージや画像を送信することができます。日々の生活や業務での通知、アラートに活用することで、情報共有を効率的に行うことが可能です。

シェアする

  • このエントリーをはてなブックマークに追加