はじめに
2019年春からMessagingAPIの料金プランが改定されてフリープランでもプッシュメッセージが利用出来るようになります。MessagingAPIはRESTAPIなのでcurlで叩けばすぐにプッシュメッセージを送信することは出来るのですが、複数人に送信するとなるとなかなか面倒臭いですし、一度に150人までしか送信することが出来ません。なので、userIdのリスト(CSVファイル)を読み込めば簡単にプッシュメッセージが送信できるツールを作成しました。
導入方法
- 任意の場所にフォルダをひとつ作り、そこでターミナル(Windowsの場合はcmd)を開きます
-
以下のコマンドを入力してGitからツールのコードをクローンします
git clone https://github.com/shinbunbun/Sending-Push-Message.git
-
クローンが完了したら以下のコマンドを入力してディレクトリを移動します
cd Sending-Push-Message
-
以下のコマンドを入力してモジュールをインストールします
npm i
以上で環境構築は完了です
使い方
導入方法の時に使ったterminalをそのまま使用します
-
以下のコマンドを入力してサーバを立ち上げます
node app.js
-
以下のような表示が出れば成功です
Server running at http://localhost:3000
http://localhost:3000 にアクセスして以下の画像のようなページが表示されたらOKです
「AccessToken」という所にBotのアクセストークンを入力します(LINEDevelopersのBotのページから取得出来ます)
「Choose File」を押して送信したいuserIdのリスト(CSV)を選択します
※CSVは以下の画像のような(各userIdを改行で区切るような)形式で作成してください
Excelで開くと
テキストエディタで開くと
6. 送信したいメッセージをMessagingAPIのリファレンスに載っているような形式のJSONで入力してください(こちらにサンプルを載せています)
7. 「submit」を押して送信完了です
8. 「result」という所にAPIから返ってきたレスポンスが表示されます。
※プッシュメッセージは一度に150人までしか送信する事が出来ないため、csvに150以上のuserIdが入っていた場合は150人ごとに分割してAPIを叩いています。
例えば500人に送信する場合は、「150人,150人,150人,50人」の4回に分けてAPIを叩くといった具合です。そのため、APIからのレスポンスもAPIを叩いた分だけ配列になって表示されます。先程の例でいうと[1回目のレス,2回目のレス,3回目のレス,4回目のレス]といった感じです。
メッセージ送信処理が正常に完了した場合は以下のようなレスポンスが返ってきます
#150人以下の人にメッセージを送信する場合
["{}"]
#150人以上の人にメッセージを送信する場合
["{}","{}","{}" ... "{}","{}"]
"{}"
ではなく何か文字列が返ってきた場合はエラーとなりますので、入力した情報が正しいかご確認ください。