7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初学者向け:PythonとLINE Notifyで環境構築からトークン取得まで、簡単にLINE通知機能を実装してみた

Last updated at Posted at 2025-01-25

はじめに

Pythonを使ってLINE Notifyを活用すると、LINEに簡単に通知を送る仕組みを実装することができます。

このスクリプトは、Python初心者やLINE Notifyを初めて利用する方にもわかりやすい内容になっています。

今回の記事では、必要な環境準備から実際に通知を送信するまでの手順を丁寧に解説します。

書こうと思ったきっかけ

この仕組みは、前回のハッカソンでバックエンドを担当した際に実装した機能の一部です。

実際に使用したコードはこちらに公開しています。

ハッカソンでは、47都道府県のユーザーをマッチングさせる機能を追加実装しました。

その際、「マッチングが成立したらLINE通知を行いたい」という要件がありました。

この要件を実現する過程でLINE Notifyの存在を知り、Pythonを使えば簡単に連携できることに気づきました。実際に試したところ、通知を送る仕組みを短時間で構築することができました。

そのため、今回その手順をまとめて共有することで、他の方の参考になればと思っています。

必要な環境準備

Python インストール

Python 3.x をインストールしてください(公式サイトからダウンロード可能)。

必要なライブラリのインストール

LINE Notifyを使用するには、requests ライブラリが必要です。以下のコマンドをターミナルで実行してインストールしてください。

pip install requests

LINE Notify トークンの取得

LINE Notify にログインし、トークンを発行して、以下コードの lineNotifyToken にコピー&ペーストしてください。

コードの準備

以下のコードをローカル環境のファイル(例: line_notify.py)に保存します。

line_notify.py
import requests

def sendLineNotify():
    # LINE Notifyのトークンをここに設定してください
    lineNotifyToken = "あなたのLINE Notifyトークンをここに入力"
    lineNotifyApi = "https://notify-api.line.me/api/notify"
    headers = {"Authorization": f"Bearer {lineNotifyToken}"}
    data = {"message": "Pythonから通知検証が成功!"}

    response = requests.post(lineNotifyApi, headers=headers, data=data)
    if response.status_code == 200:
        print("LINEに通知が送信されました")
    else:
        print(f"通知の送信に失敗しました: {response.status_code} - {response.text}")

# 関数を呼び出して実行
if __name__ == "__main__":
    sendLineNotify()

スクリプトを実行してみた

ターミナルで保存したスクリプトを以下のコマンドで実行します。

python line_notify.py

実際の実行結果

成功時:

➜  Desktop git:(main) ✗ python line_notify.py
/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/requests/__init__.py:86: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer).
  warnings.warn(
LINEに通知が送信されました

失敗時:

➜  Desktop git:(main) ✗ python line_notify.py
/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/requests/__init__.py:86: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer).
  warnings.warn(
通知の送信に失敗しました: 400 - {"status":400,"message":"LINE Notify account doesn't join group which you want to send."}

失敗の原因として、以下のようなことが考えられます:

  • LINE Notify トークンが無効になっている
  • トークンが「送信先のグループまたはアカウント」に紐付いていない

※私の環境では、トークンが古く無効だったため、このエラーが発生しました。

LINE通知の結果

今回のコードを実行した結果、以下のような通知がLINEに届きました。

Screenshot 2025-01-25 at 14.29.29.png

通知メッセージの内容は「Pythonから通知検証が成功!」で、スクリプトを実行するたびに通知が正常に届くことを確認しました。

まとめ

初めてLINE Notifyを使ったときは、公式サイトでのトークン発行やPythonコードの実装手順が少し不安でしたが、シンプルなAPI設計のおかげでスムーズに動作させることができました。

通知がLINEに届くことで、実際に動いている感覚を得られたのがとても良かったです。

特に、身近なLINEアプリを活用することで、エラーや処理完了の通知をリアルタイムで確認できるのは便利だと感じました。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?