ブログBLOG

\ Web・ゲーム開発に関する情報を発信中 /

【初心者向け】LINE Notifyから切り替え!PythonでLINE Messaging APIから通知を送る方法

Python
line , python
20250406_python-line-messaging-api-notification-tmb

ご覧いただきありがとうございます!
領護(りょうご)です。

LINE Notifyが2025年3月31日でサービス終了となり、「LINEにメッセージ通知を送る方法がなくなるのでは?」とお困りの方も多いのではないでしょうか。
今回は、LINE Notifyの代替手段として活用できる「LINE Messaging API」を使って、LINEにメッセージ通知を送信する方法をご紹介します!

目次

実行環境

Docker Desktop:4.40.0
Python:3.12.8
line-bot-sdk:3.14.5

LINE Messaging APIとは

LINE Messaging APIとは、LINEが提供する公式APIで、LINEアカウントを通じてユーザーと双方向のやり取りができる仕組みのことです。
このAPIを活用することで、特定のユーザーとLINEのトーク画面を使ってメッセージを送受信したり、外部サービスと連携したLINEアカウントを開発したりできます。

今回は、このAPIを利用して、自分専用の「メッセージ通知用LINE公式アカウント」を作成し、そこから通知を受け取る仕組みを構築します。

注意!

LINE Notifyは完全無料でしたが、LINE Messaging APIは送信メッセージ数が月200通を超えると有料になります。
とはいえ、ちょっとしたシステム通知や個人用アラートなど、軽い用途であれば無料枠内で十分利用可能だと思います。

20250406_python-line-messaging-api-notification-01

料金の詳細はこちらをご参照ください
LINE公式アカウントの料金プランを見る

LINE公式アカウントを作成

まずは自分専用のLINE公式アカウントを作成します。
このアカウントは、メッセージの送信に使用するもので、無料で作成できます。

20250406_python-line-messaging-api-notification-02

LINE公式アカウント作成ページに遷移して、「LINE公式アカウントをはじめる」をクリック

20250406_python-line-messaging-api-notification-03

「LINEアカウントで登録」もしくは「メールアドレスで登録」をクリック
「LINEアカウントで登録」の方が簡単なのでおすすめです。

20250406_python-line-messaging-api-notification-04

場合によってはSMS認証が求められることがありますので、その際は認証を行ってください。

20250406_python-line-messaging-api-notification-05

LINE公式アカウントの作成に必要な情報を入力
手順に沿って進むとLINE公式アカウントが作成できます。

20250406_python-line-messaging-api-notification-06

アカウントリストに作成したアカウントが表示されていれば、LINE公式アカウントの作成は完了です。

LINE Developersに登録

次に、「アクセストークン」「ユーザーID」を取得するため、LINE Developersにアカウントを登録します。
この2つの情報は、LINE通知を送信するプログラムを作成する際に必要となるため、必ず控えておいてください。

20250406_python-line-messaging-api-notification-07

作成したLINE公式アカウントをクリック

20250406_python-line-messaging-api-notification-08

画面右上の「設定」をクリック

20250406_python-line-messaging-api-notification-09

設定メニュー内の「Messaging API」をクリック
「Messaging APIを利用する」をクリック

20250406_python-line-messaging-api-notification-10

利用を開始すると、Messaging APIのステータス情報が表示されるようになります。
続いて、「その他の設定はLINE Developersから行えます。」という文面の「LINE Developers」リンクをクリック

20250406_python-line-messaging-api-notification-11

LINE Developersのページに遷移した後、画面右上の「コンソール」をクリック
※「コンソール」が表示されない場合は、再度ログインを試みてください。

20250406_python-line-messaging-api-notification-12

開発者情報を登録する際に、「名前」「メールアドレス」を入力し、「同意する」をクリック

20250406_python-line-messaging-api-notification-13

入力内容を確認後、「OK」をクリック

20250406_python-line-messaging-api-notification-14

プライバシーポリシーと利用規約の入力画面が表示されますが、今回は自分のみで使用するため、何も入力せずそのまま「OK」をクリック

20250406_python-line-messaging-api-notification-15

プロバイダー名を入力し、「同意する」をクリック
プロバイダー名とは、公式LINEを友達追加する際に表示されるサービス提供者名です。
今回は自分のLINEとしかやり取りしないため、何でも構いません。
詳しくはこちら:LINE Developers コンソール

20250406_python-line-messaging-api-notification-16

入力内容を確認後、「OK」をクリック

20250406_python-line-messaging-api-notification-17

プロバイダーの項目に、先ほど作成したプロバイダーアカウントが表示されれば、LINE Developersのアカウント登録は完了です。
次に、「アクセストークン」「ユーザーID」を取得します。

アクセストークンの取得

20250406_python-line-messaging-api-notification-18

先ほど作成したプロバイダーアカウントをクリック

20250406_python-line-messaging-api-notification-19

チャネル設定から、LINE Developersに登録したアカウントをクリック

20250406_python-line-messaging-api-notification-20

「Messaging API設定」メニューをクリック
QRコードが表示されるので、LINEの「QRコードから友達追加機能」を使用して友達追加をしてください。

20250406_python-line-messaging-api-notification-21

下にスクロールして、チャネルアクセストークンの「発行」をクリックしてトークンを発行します。

20250406_python-line-messaging-api-notification-22

トークン発行完了後、コピーボタンをクリックしてトークンをコピーし、控えておきます。

開発者のユーザーIDの取得

続いて、ユーザーIDを取得します。

20250406_python-line-messaging-api-notification-23

「チャネル基本設定」メニューをクリック

20250406_python-line-messaging-api-notification-24

「あなたのユーザーID(Uから始まる文字列)」をクリックしてユーザーIDをコピーし、控えておきます。

あなたのユーザーIDが表示されていない場合

LINEの連携設定を行うことで表示されます。

20250406_python-line-messaging-api-notification-25

LINE公式アカウントの管理画面ページから、右上のユーザーアイコンをクリックし、「設定」をクリック

注意!

LINE Developersの管理画面ではなく、最初に作成した公式アカウントの管理画面ページです。

20250406_python-line-messaging-api-notification-26

LINEに未連携となっている右側のリンクアイコンをクリックして、LINE連携設定を行ってください。
設定完了後、あなたのユーザーIDが表示されます。
連携設定はいつでも解除することができます。

以上でトークンとユーザーIDの取得が完了しました。
次は、LINEにメッセージを通知するプログラムを作成していきます。

フォルダ構成

sample_python/
├── .env                    # 環境変数ファイル
├── .gitignore              # Gitで無視するファイルの設定
├── docker-compose.yml      # Docker Compose設定ファイル
├── Dockerfile              # Dockerイメージビルド用ファイル
├── main.py                 # メインスクリプト
└── requirements.txt        # Pythonパッケージライブラリファイル

今回の解説では、上記のフォルダ構成を使用します。
主に使用するファイルは、requirements.txt、main.pyの2つです。

プログラムの作成

pip install line-bot-sdk

LINE Messaging APIをPythonで利用するために、上記のライブラリをインストールします。

main.py
from linebot import LineBotApi
from linebot.models import TextSendMessage

# LINEのアクセストークンを設定
LINE_ACCESS_TOKEN = "ここにアクセストークンを入力します"

# 送信先のユーザーIDを設定
USER_ID = "ここにユーザーIDを入力します"

# LINEにメッセージを通知
def notify_to_line_message():

    # 送信メッセージの設定
    messages = "ここに通知したいメッセージを入力します"

    # LineBotApiのインスタンスを作成
    line_bot_api = LineBotApi(LINE_ACCESS_TOKEN)

    # メッセージの送信
    messages = TextSendMessage(text=messages)
    line_bot_api.push_message(USER_ID, messages=messages)


if __name__ == "__main__":
    notify_to_line_message()

LINEに通知するための全体のプログラムになります。
各部分を1つずつ詳しく説明しますね。

main.py
from linebot import LineBotApi
from linebot.models import TextSendMessage

必要なライブラリをインポートしています。

main.py
# LINEのアクセストークンを設定
LINE_ACCESS_TOKEN = "ここにアクセストークンを入力します"

# 送信先のユーザーIDを設定
USER_ID = "ここにユーザーIDを入力します"

先ほど控えておいた「トークン」「ユーザーID」を各項目に置き換えてください。
トークン:「ここにアクセストークンを入力します」部分に入力
ユーザーID:「ここにユーザーIDを入力します」部分に入力

main.py
# LINEにメッセージを通知
def notify_to_line_message():

    # 送信メッセージの設定
    messages = "ここに通知したいメッセージを入力します"

    # LineBotApiのインスタンスを作成
    line_bot_api = LineBotApi(LINE_ACCESS_TOKEN)

    # メッセージの送信
    messages = TextSendMessage(text=messages)
    line_bot_api.push_message(USER_ID, messages=messages)

LINEにメッセージを送信する主要なプログラムです。
「ここに通知したいメッセージを入力します」部分に送信したいメッセージを入力します。
この関数を通知を送りたい処理の間に追加しておけば、処理が実行されたタイミングで通知が届きます。

動作テスト

20250406_python-line-messaging-api-notification-27

このようにメッセージが届きます!

最後に

LINE Notifyの代替としてLINE Messaging APIでLINEメッセージを送信する方法を解説しました。
何かトラブルが起こった時にLINEに通知したい、またはLINE Notifyの代替として活用したい場合に是非使ってみてください!

参考にさせて頂いたサイト様

https://poster.ooo/howto/check-access-token/
https://www.lycbiz.com/jp/manual/OfficialAccountManager/account-settings_messaging_api/
https://libertytree-seek.com/contents/technology/5373/
https://note.com/python_lab/n/n1a9507c2bcf2
https://www.lycbiz.com/jp/service/line-official-account/plan/
https://developers.line.biz/ja/docs/line-developers-console/overview/#creating-a-provider


\ よかったらシェアしてね /

関連記事