見出し画像

Pythonを使ってLINEにメッセージを送る方法


本日はPythonを使用してLINEに通知を送る方法を紹介します。

LINE Notifyとは


LINE Notifyは、LINEアプリケーションを通じてユーザーやグループにリアルタイムで通知を送ることができるサービスです。これにより、スマートフォンなどのデバイスに即座に情報を届けることが可能になります。

これを応用して個人のリマインダーやアラート、企業や開発チームのシステム監視など、多岐にわたる用途で利用可能です。この記事では、Pythonを使用してLINE Notify APIを介してメッセージを送信する方法を詳しく説明します。

必要な事前準備


  1. LINEアカウント: LINEアカウントが必要です。

  2. LINE Notifyサービスに登録: LINE Notify公式ページにアクセスし、ログイン後、「マイページ」から「トークンの発行」を行います。

  3. APIトークンの発行: 通知を送りたいLINEグループまたは個人チャットを選択し、APIトークンを生成します。このトークンは、APIリクエストを認証するために使用されます。


Pythonでの通知の送信


LINE Notifyを使ってメッセージを送るためには、`requests`ライブラリを使ってHTTPリクエストを行います。以下に、具体的なコード例を示します。

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

pip install requests

Pythonスクリプトの作成

import requests

def send_line_notify(notification_message):
    """
    LINEに通知する
    """
    line_notify_token = 'あなたのLINE Notifyトークン'
    line_notify_api = 'https://notify-api.line.me/api/notify'
    headers = {'Authorization': f'Bearer {line_notify_token}'}
    data = {'message': f'message: {notification_message}'}
    response = requests.post(line_notify_api, headers=headers, data=data)
    return response.status_code

# 通知を送るメッセージ
message = 'Hello, this is a test message from LINE Notify'
# 通知を送信
status = send_line_notify(message)
if status == 200:
    print('Message sent successfully.')
else:
    print('Failed to send message.')

コードの説明


関数 send_line_notify

この関数は、LINEに通知を送るための主要な機能を担っています。以下がその詳細です:

パラメータ

  • notification_message : この関数は引数 notification_message を受け取り、これがLINEに送信されるメッセージ内容となります。

処理の流れ

  1. APIトークンの設定:

line_notify_token = 'あなたのLINE Notifyトークン'

この行で、LINE Notifyサービスから取得したトークンを変数に格納します。このトークンは、LINE Notify APIへのリクエストを認証するために必要です。

APIエンドポイントの設定:

line_notify_api = 'https://notify-api.line.me/api/notify'

LINE Notifyの通知送信用のAPIエンドポイントURLを変数に設定します。

ヘッダーの設定:

headers = {'Authorization': f'Bearer {line_notify_token}'}

HTTPリクエストのヘッダーにAuthorizationキーを設定し、その値として「Bearer トークン」を設定します。これにより、リクエストがLINE Notifyの認証を通過します。

データの設定:

data = {'message': f'message: {notification_message}'}

送信するデータとして、辞書型でメッセージ内容をmessageキーに設定します。実際のメッセージには "message: " というプレフィックスが付けられ、その後にnotification_messageの内容が続きます。

POSTリクエストの送信:

response = requests.post(line_notify_api, headers=headers, data=data)

requestsライブラリのpostメソッドを使用して、設定したURL、ヘッダー、およびデータを持つHTTP POSTリクエストを送信します。このリクエストにより、設定したメッセージがLINE Notifyを通じて送信されます。

ステータスコードの返却:

return response.status_code

APIからのレスポンスとしてHTTPステータスコードを関数の戻り値として返します。このステータスコードによって、リクエストの成功または失敗を判定できます。

メッセージの送信と結果の確認

message = 'Hello, this is a test message from LINE Notify' 
status = send_line_notify(message) 
if status == 200: 
    print('Message sent successfully.') 
else: 
    print('Failed to send message.')
  • この部分では、通知したいメッセージをmessage変数に設定し、send_line_notify関数を呼び出しています。

  • 返されたステータスコードが200(成功)の場合、成功メッセージがコンソールに表示されます。それ以外の場合は、失敗メッセージが表示されます。



注意点

  • LINE Notifyのトークンは秘密にしてください。公開すると、不正に使用される可能性があります。

  • APIの使用制限に注意してください。頻繁に大量のメッセージを送ると、制限されることがあります。

まとめ

PythonとLINE Notifyを使用すると、簡単にリアルタイムで通知を送ることができます。この機能は、個人のリマインダーからシステムの監視通知まで、さまざまなシナリオで役立ちます。

この記事が気に入ったらサポートをしてみませんか?