Python Webアプリケーション プログラミング

【Python】LINE Messaging APIでメッセージを送信を自動化する

この記事は約6分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です!

 

今回はLINE Messaging APIを使ってプログラムからメッセージを送信する方法について紹介します。LINE Messaging APIを利用することでユーザーからのメッセージに応答するだけでなく、様々な対話式サービスを提供することが可能です。

 

LINE Messaging APIでできること

 

LINE Messaging APIは、LINE上で独自のチャットボットを作成・運用するためのインターフェースを提供します。このAPIを利用することで、ユーザーのメッセージに自動で応答したり、リッチメニューやプッシュメッセージを送信したりすることができます。

 

前準備

 

  1. LINE Developersへの登録
    • LINE Developersの公式サイトにアクセスし、LINEアカウントでログインします。
    • 初めての場合、新規にプロバイダーを作成します。プロバイダーは、開発するアプリやボットの「所有者」のようなものです。
  2. チャネルの作成
    • プロバイダーの下に新しいチャネルを作成します。チャネルタイプとして「Messaging API」を選択します。
    • チャネル名、説明、大カテゴリ、小カテゴリを入力し、アイコンを設定します。
  3. Channel SecretとChannel Access Tokenの取得
    • チャネルが作成されたら、基本設定画面から「Channel Secret」をメモします。
    • 「Messaging API」設定画面から「Channel Access Token」を発行し、これもメモします。これらの情報は、APIを通じてLINEプラットフォームと通信する際に必要です。

 

チャンネルの作成

 

まずLineのデベロッパーサイトにログインして通知を送るチャンネルを作成します。アカウントはビジネスアカウントではない個人用アカウントで問題ないです。

 

コンソールにログインしたら、新規の「Providers」をcreateで作成し、その中に「Create a channel」⇒「Messaging API」を選択し新規チャンネルを作成します。名前や説明は適応でいいですが、botのチャンネル名になるので、あまり適当にしすぎないほうがいいかもです、

 

チャンネルを作成したら、「Messaging API」⇒「Messaging API settings」に表示されているQRコードを自身のスマホのLineアカウントから読み込んで友達登録します。これでBOTとのトークルームが作成されます。

 

アクセストークンの発行

 

そして、「Messaging API」のタブ画面の下の方に「Channel access token」という欄が存在します。ここでissue(発行)というボタンがあるので、それをクリックしてチャンネルのアクセストークンを発行します。

 

ライブラリのインストール

 

最後にLineのAPIをラッピングしてライブラリしたものがあるのでそれをインストールします。

 

# ライブラリのインストール
$pip install line-bot-sdk

 

自分のユーザーIDの取得

 

BOTの操作に必要な送り先となる自分のアカウントIDを知っておく必要があるのですが、これが少し厄介です。これはLineの設定画面で表示されているIDとは違いLINEが内部で保持しているアカウントIDとなります。これを把握するためにはherokuとflaskを使ってwebhookサーバーを立ち上げるしかないです。

 

herokuとflaskによるLineのWebhookサーバーの構築の説明が長くなるので、記事にまとめていますのでそちらを参考にしてください。

 

関連記事:【Python】HerokuでLineのAPI用のwebhookサーバーを立てる

 

それがめんどくさい人は当方が作成したLine内部内部ユーザーID確認BOTを友達追加して、BOTに適当なワードを送ると内部IDを返してくれますので、そちらで確認してください

 

詳細:【LINE】MessagingAPIで自分のLINEアカウントの内部ユーザーIDを確認する

 

これで前準備は完了です。

PythonでMessaging APIでLINEメッセージを送信する

 

準備ができたので実際にPythonからAPIを使用してみましょう。

下記がサンプルコードになります

 

from linebot import LineBotApi
from linebot.models import TextSendMessage

YOUR_CHANNEL_ACCESS_TOKEN = '自分のアクセストークン'
line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN)

def main():
    user_id = "自分の内部ユーザーID"
    messages = TextSendMessage(text=f"こんにちは😁\n\n"
                                    f"最近はいかがお過ごしでしょうか?")
    line_bot_api.push_message(user_id, messages=messages)

if __name__ == "__main__":
    main()

 

これでBOTアカウントから自分のLINEアカウントにこんにちは~という通知が送られてきます

 

終わり

 

ここまでがLINE Messaging API の基本的な使い方になります。ここから実際にチャットBOTなどにするためにはWebhookサーバーに組み込む必要があります。その方法については下記の記事で解説しています。では~

 

続編:【Python】Heroku上にLine Messaging API用のwebhookサーバーを作る

 

 

参考:https://qiita.com/kotamatsuoka/items/6f56d0d0a3225160b4d0

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

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