Messaging APIを用いてPythonからLINEにメッセージ送る

Python等のプログラムからLINEを用いて通知を送る方法として Messaging APILINE notify があります。LINE notifyは2025年3月31日にサービスを終了するため、今後はMessaging API を用いる必要があります。

Messaging API と LINE notify の比較

まず、Messaging API と LINE notify を比較してみます。

Messaging API LINE notify
双方向コミュニケーション 可能 (ユーザーからのメッセージに自動応答可能) 不可 (LINEへの一方向の通知のみ)
メッセージ送信形式 テキスト、スタンプ、画像、動画、音声、位置情報、イメージマップ、テンプレート、Flex Message テキスト、スタンプ、画像
送信先の指定 送信時に明示的に指定する アクセストークン発行時に指定した送信先に送信できる
利用の難易度 やや難しい (単にテキストメッセージを一方的に送るだけなら簡単) 簡単
利用料金 月200通まで無料 (有料プランあり) 無料 (デフォルトで1時間1000通まで)
今後の予定 継続して利用可能 2025年3月31日で終了予定

Messaging API は LINE notify と比べると高機能ですが、料金の点で利用のハードルが高くなっています。

Messaging APIの料金を詳しく見ていきます。LINE公式アカウント料金プランが適用されます。

コミュニケーションプラン ライトプラン スタンダードプラン
月額固定費(税別) 0円 5,000円 15,000円
無料メッセージ通数(月) 200通 5,000通 30,000通
追加メッセージ料金(税別) 不可 不可 ~3円/通

月200通以上送信する場合、DiscordやSlackなど、代替手段を検討してもよいかもしれません。

PythonでMessaging APIを使ってみる

Messaging APIで 自分自身宛にテキストメッセージを一方的に送るだけであれば、難易度はそれほど高くありません。Pythonを使用してLINEのMessaging APIを利用し、テキストメッセージを送信してみます。

Messaging APIを利用するには、LINE Developers コンソールでチャネルを作成し、チャネルアクセストークンと ユーザーIDを取得する必要があります。LINE Developersコンソールからチャネルを直接作成することはできなくなったので、あらかじめLINE公式アカウントを作成する必要があります。

  1. LINE 公式アカウントを作成する
    1. LINE公式アカウント作成ページで「LINE公式アカウントをはじめる」をクリックする。
    2. LINE Business IDを登録する。個人のLINEアカウントかメールアドレス(LINEビジネスアカウント)で登録することができる。
    3. LINE公式アカウントを作成する。
  2. LINE Developersコンソールにログインする
    1. LINE Developersで右上の「コンソール」または「コンソールにログイン」をクリックする。
    2. 初回アクセス時には、開発者情報の入力が求められる。
  3. プロバイダーを作成する
    1. 「新規プロバイダー作成」をクリックする。
    2. プロバイダー名を入力し、「作成」をクリックする。プロバイダーは、開発するアプリケーションやサービスの管理単位となります。
  4. チャネルを作成する
    1. LINE Official Account Manager の設定→Messaging APIで、「Messaging APIを利用する」をクリックする。
    2. 先ほど作成したプロバイダーを選択して、「同意する」をクリックする。一度プロバイダーと連携すると、変更・解除できないので注意。
    3. プライバシーポリシーと利用規約の入力は任意。
  5. ユーザーIDを取得する
    1. 開発者自身のユーザーIDは、LINE Developersコンソールの「チャネル基本設定」画面で表示される、「あなたのユーザーID」を用いる。このユーザーIDは自身にメッセージを送信する際に利用できます。
    2. 他人のユーザーIDを取得する手順は複雑です。まず、ユーザーがLINE公式アカウントと友達になり、Botと会話を始めた後に、Webhookイベントを通じてユーザーIDを取得する必要があります。公式ガイドを参照してください。
  6. チャネルアクセストークンを発行する
    1. LINE Developersコンソールのチャネル設定画面の「Messaging API設定」で、チャネルアクセストークンを発行する。

LINEの公式Python SDKであるline-bot-sdkを用いることで簡単に自分宛にメッセージを送信できます。pip 等でインストールできます。

pip install line-bot-sdk

Pythonで次のプログラムを作成し、実行します。

from linebot import LineBotApi
from linebot.v3.messaging import Configuration, ApiClient, MessagingApi, PushMessageRequest, TextMessage

CHANNEL_ACCESS_TOKEN = 'チャネルアクセストークン'
USER_ID = 'ユーザーID'

configuration = Configuration(access_token=CHANNEL_ACCESS_TOKEN)
with ApiClient(configuration) as api_client:
   messaging_api = MessagingApi(api_client)
   message = TextMessage(text="これはテストメッセージです。")
   push_message_request = PushMessageRequest(to=USER_ID, messages=[message])
   messaging_api.push_message(push_message_request)

詳細はMessaging APIの公式ドキュメントを参照してください。

 

本サイトの内容は、投資の勧誘を目的としたものではなく、本サイト内の情報に基づいて行った取引の損失について、本サイトは一切の責を負いかねます。当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。免責事項もご覧ください。

Python

コメント

タイトルとURLをコピーしました