Python

【プログラミング】LINE Messaging APIを使い、PythonからLINEへメッセージの送信を行ってみよう。

2024.10.19 土
262 view
【プログラミング】LINE Messaging APIを使い、PythonからLINEへメッセージの送信を行ってみよう。

LINEへのメッセージ送信を試したことはあるだろうか。

LINEへのメッセージ送信は、以前はLINE Notify APIが主流だったが、このAPIは2025年3月31日に終了予定だ。

そこで、新たに登場した後継APIであるMessaging APIを紹介する。

LINE Messaging API

LINEでのメッセージやり取りを出来るようにするためにLINE Messaging APIを使用する。

LINE Messaging APIとは

LINEの公式アカウントを通じて、ユーザーにメッセージの送受信を行うためのAPIだ。

このAPIを利用することで、テキストや画像、動画、スタンプなどを自動で送信したり、ユーザーからのメッセージに応じてレスポンスを返すボットを構築したりできる。

LINE Developersに登録する

LINE Business ID

上記のリンクから、LINE Developersに登録する。

LINEでログインするか、新規に作るかはあなたの自由だ。

開発者名と、メールアドレスを入力し、同意するにチェックを入れてからアカウント作成をクリックする。

これでLINE Messaging APIを使用できるようになった。

プロバイダーの作成

メッセージを送信するためのLINE公式アカウントを作る。

LINE Developers

上記のリンクから、コンソールを開く。

新規プロバイダー作成をクリックする。

プロバイダー名を決めて、作成をクリックする。

私は例として、Messaging API with Pythonと入力した。

Messaging APIをクリックする。

LINE公式アカウントを作成するをクリックする。

各種アカウント情報を入力し、確認をクリックする。

必須になっている項目のみ入力すれば問題ない。

完了をクリックする。

LINEヤフーの友達追加は邪魔だから解除した方が良い。

LINE Official Account Managerへをクリックする。

同意をクリックする。

同意をクリックする

これでプロバイダーの作成は完了だ。

Messaging APIを有効化にする

メッセージを送れるようにAPIを有効化にする。

右上にある設定をクリックする。

左側にあるMessaging APIをクリックする。

Messaging APIを利用するをクリックする。

先ほど作成したプロバイダーを選択し、同意するをクリックする。

私の場合は、Messaging API with Pythonだ。

OKをクリックする。

OKをクリックする。

これでMessaging APIを有効化できた。

サンプルコード

事前準備

まずは、事前準備としてPythonのファイルを用意する。

app.py

#app.py

これで事前準備は完了だ。

app.py

#app.py
import requests

# チャネルアクセストークン(長期)
access_token = 'YOUR_CHANNEL_ACCESS_TOKEN'

# あなたのユーザーID 
user_id = 'USER_ID'

# 送信したいメッセージ
messageText = 'ここにメッセージを入力してください'

# ヘッダー設定
headers = {
    'Authorization': f'Bearer {access_token}',
    'Content-Type': 'application/json'
}

# メッセージ内容
data = {
    'to': user_id,
    'messages': [
        {
            'type': 'text',
            'text': messageText
        }
    ]
}

# LINE Messaging APIエンドポイント
url = 'https://api.line.me/v2/bot/message/push'

# メッセージ送信
response = requests.post(url, headers=headers, json=data)

# ステータスを確認
if response.status_code == 200:
    print('メッセージが送信されました' , messageText)
else:
    print(f'エラーが発生しました: {response.status_code}, {response.text}')

このコードを使うことでメッセージを送信できる。

アクセストークンを設定する

LINE Developers

上記のリンクから、コンソールを開く

作成したチャネルをクリックする。

私の場合は、Messaging API Testだ。

Messaging API設定をクリックする。

チャネルアクセストークン(長期)の中にある発行をクリックする。

access_token = 'YOUR_CHANNEL_ACCESS_TOKEN'

6行目の‘YOUR_CHANNEL_ACCESS_TOKEN’に貼り付ける

これでアクセストークンの設定は完了だ。

ユーザーIDを設定する

チャネル基本設定をクリックする。

あなたのユーザーIDをコピーする。

user_id = 'USER_ID'

10行目の‘USER_ID’に貼り付ける

これでユーザーIDの設定は完了だ。

送信するメッセージを設定する

messageText = 'ここにメッセージを入力してください'

13行目の ここにメッセージを入力してください に送信したいメッセージを入力する

今回は例として、 テストメッセージwww と入力する。

サンプルコードの動作確認

サンプルコードを実行すると、LINEにメッセージが届くはずだ。

これでPythonを使ったLINEメッセージ送信は簡単に行えるようになった。

サンプルコードの配布

コードのダウンロードはこちら (github.com)

これらのコードはGithubにアップロードしている。

コードを書くのが面倒な人は、上記のページでダウンロードして使用してみるのも良いだろう。

必要な人はぜひ使ってみてくれ。

まとめ

いかがだっただろうか。

無事LINE Messaging APIを使い、メッセージ送信が行えただろうか。

思いのほか簡便にメッセージが送信できるため、さまざまなコードとの連携も夢ではない。

その活用範囲は広く、また汎用性も高いため、実に頼もしいAPIである。

コメントはこちらから

必須コメント

必須ハンドルネーム