はじめに
以前にお試しでLINEのボットを作成したことがあるが、その時にプッシュ通知の方法についても調べたのでメモを残しておく。
(プッシュ通知のサンプルコードはPythonで作成。)
メモ内容
① チャットボットの作成
② 作成したBotからプッシュ通知をしてみる。
③ 画像を送るプッシュ通知も試してみる。
① チャットボットの作成
LINEの公式アカウントが必要となるが、下記のサイトにBot作成までの流れが記載されているので、こちらを参考にすると良い。
② 作成したBotからプッシュ通知をしてみる
プッシュ通知の方法やルールについては、LINE Developers の公式サイトを確認すれば大体のやり方を把握できる。
単純なテキストをプッシュ通知する場合、下記の Manger 画面から、該当のチャネル(アカウント)を選んで配信することもできる。配信の方法は、メッセージ配信 ⇒ メッセージの作成
から行える。
※特別な指定をしなければ、友達追加してくれているメンバー全員にメッセージが送られる。
また同じ様な処理を Python で書くと以下の様なコードになる。
pip install line-bot-sdk
from linebot import LineBotApi
from linebot.models import TextSendMessage #テキストメッセージを送る時に使うモジュール
from linebot.exceptions import LineBotApiError
line_bot_api = LineBotApi('<channel access token>')
try:
# 該当botを友達追加している全員にメッセージを送る。
line_bot_api.broadcast(TextSendMessage(text = "test message from python to all member"))
# 特定の1ユーザーに送る時はこちら。その他にも、マルチキャスト、ナローキャストがある。
# line_bot_api.push_message('<to>', TextSendMessage(text='test message from python to one user'))
except LineBotApiError as e:
print(e)
※<channnel access token>
に入るのは、LINE Developers の対象BotのMessaging API設定
に表示されている、チャンネルアクセストークンとなる。
特定ユーザーに送る場合は、<to>
にuserID入れる必要があるが、ここで入れるuserIDはLINEアカウントの友達検索で使うIDではないので注意。
③ 画像を送るプッシュ通知も試してみる
Manger画面から行う場合は、②のテキストプッシュ通知と同様に行える。
Python で送る場合は以下の様なコードとなる。
from linebot import LineBotApi
from linebot.models import ImageSendMessage #画像を送る時に使うモジュール
from linebot.exceptions import LineBotApiError
line_bot_api = LineBotApi('<channel access token>')
url = "<httpsで始まる画像のURL>"
try:
# 特定の1ユーザーに送る。
line_bot_api.push_message('<to>', ImageSendMessage(original_content_url = url, preview_image_url = url))
except LineBotApiError as e:
print(e)
※ ローカルPCに格納してある画像ファイルのパスを指定して送ることはできず、httpsで始まるURLを設定しなければいけないっぽい。
また、上記では画像を送信するモジュールをインポートして使っているが、その他の送信に使う場合のモジュールは下記のサイトの linebot.models.messages module
の事項を参考に。