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

【Python】LINEのAPIを使ってプッシュ通知でテキストメッセージを送ってみた

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

 

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

今回はLineのAPIを使ってPythonでプッシュ通知を自動化してみました。もう使い古されたネタだと思うので自分に適当にまとめておきます。

 

チャンネルの作成

 

まず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となります。これを把握するためにはwebhookサーバーを立ち上げるしかないと思います。

 

Webhookサーバーの立ち上げの説明は長くなるので、記事にまとめていますのでそちらを参考にしてください。

 

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

 

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

 

スポンサーリンク
スポンサーリンク

Python+Messaging 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アカウントからにこんにちは~という通知が

 

 

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

 

コメント

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