LINE Notify×Tasker!好きな条件で「モンストしようぜ」という通知をLINEグループに自動ポストする方法(作り方)

公開日: 2016年10月15日 HowTo LINE Notify Tasker Tips プッシュ通知 ライフハック 考察 非root


さぁついに見つけましたよLINE Notify120%活用術。

やっとTaskerでHTTP POSTを使って(IFTTT等を介さず)ダイレクトにLINEに通知を出す方法がわかったのでメモしときます。



必要なアプリと前準備

Google play Tasker
Tasker
制作: Crafty Apps EU
評価: 4.6 / 5段階中
価格: ¥399 (2016/10/15 時点)
posted by: AndroidHTML v3.1

まずTasker本体が必要です。

TaskerはHTTP POSTを送信できる機能を内蔵していますが、ちょっと使い方がよくわからず、特に今回のような外部のAPIを叩く場合のユースケースを検索してみると結構不評?っぽいため、プラグインも追加します。

Google play RESTask for Tasker
RESTask for Tasker
制作: Freehaha
評価: 4.3 / 5段階中
価格: 無料 (2016/10/15 時点)
posted by: AndroidHTML v3.1

フォーラムなどで好評だったのがこちらのプラグインです。

HTTP GET、POST、DELETE、PUTを使用して、RestfulなAPIへのアクセスを代替するインターフェースを提供してくれます(原文翻訳引用)。

必要なアプリはこの2つ。続いて「LINE Notify」を使うためにアクティベーションが必要です。

LINE Notify

WebサービスとLINEを連携する "LINE Notify"

LINE Notifyのホームページを開き、QRコードを読んで「LINE Notify」を友達に登録します。

これで通知の受信準備も完了。

アクセストークンを取得

Taskerを利用してLINE Notifyに通知を送るためには、LINE NotifyのAPIにアクセスする必要があります。

LINE

LINE Notifyのマイページを開いて「アクセストークン」を発行します。


発行する時は「トークン名」と「送信先」を指定します。

「トークン名」は送信する通知のタイトルにもなるようなので、わかりやすいものをつけるといいと思います。

ちなみにLINE Notifyは、友だちに追加した公式チャンネルで「自分専用(1:1)」の通知を受け取る他に、自分が参加している「グループ(トークルーム)」に通知を届けることもできます。

その場合、送信したいグループに「LINE Notify」の公式チャンネルを招待する必要があるので、忘れずに行っておいてください。

複数のグループに同時に送ることはできないので、1つずつトークンを発行します。

なお、この画面で「発行する」をクリックするとトークンが表示されますが、一度表示を閉じると再表示する方法はありません。どこかにメモっておくか、忘れてしまったら削除して作り直す必要があります。

今回はTaskerを使うので、トークンをPCで発行したらPushbulletで送っちゃうことをおすすめします。


アプリのインストール、LINE Notifyの友だち追加とグループ招待、トークンの発行まで全て完了したら、Taskerを開きます。

Taskerの設定

※なお、Taskerで使うトリガー(Context)は自分好みに作ればいいので省略します。肝心肝要のアクション(Task)の作り方をまとめます。


Taskを新規作成して+ボタンを押し、「Plugin」から「RESTask」を選びます。


作成したTaskを開いてペンのマークからConfiguration(いわゆるコンフィグ、設定)に入ります。


何やら項目がありますが入力が必要な箇所は少しですので大丈夫。

まず、最初に表示された「BASIC」のすぐ下の「Request Type」を押して「POST」に変更します。これがHTTP POSTリクエストを送信することを意味します。

その下の「Host」にはAPIのURLを入力。

https://notify-api.line.me/api/notify

です。

この2箇所を編集したら、画面を左にスライドして「Headers」項目に移ります。

この画面には最初何も置かれておらず、緑色の+ボタンがあるだけなので、そこをタップ。


このように入力してSaveします。

続いてもう1回緑の+ボタン「Add more」をタップし、


このように入力してSaveします。

作成する2つの項目は次の通り。

1つ目 2つ目
Name
Content-Type Authorization
Value
application/x-www-form-urlencoded Bearer アクセストークン


※なお2つ目のヘッダー情報について、Value(値)側にはただ単にアクセストークンを貼り付けてもだめです。プレフィックス(接頭辞)に「Bearer」をつけ、半角スペースを1個入れます。

Bearer_アクセストークン

こういう形式。 _ は半角スペースを見やすくしただけなので、実際には使いません。

2つの項目を作成したら、再度画面をスライドさせて「Parameters」項目に移ります。


パラメータの作り方はヘッダーと同じです。

パラメータ
message
任意の文字列


Nameには「message」と入れます。そしてValueに、通知したいメッセージ本文を入れます。

ここまでで作業は完了。右上の再生ボタンをタップすれば動作テストが行なえます。


実際に送るとこうなります。

発信者が「LINE Notify」になり、メッセージの先頭に「トークン名」がついており、その後ろに今作ったHTTP POSTの「message」パラメータが入っています。

あとはTaskerに戻って、Contextに「モンストを起動した時」を指定すれば、自分がモンストを起動したら自動的にグループに「モンストしようぜ」というメッセージが流れるようにもなると思います。

あまりやりすぎると迷惑になるので、最初は1:1用のトークンを使って動作テストすることを強く推奨します

以上です!

参考情報

今回の仕組みを作るにあたって参考にさせていただいたサイトを載せておきます。

コマンドラインから LINE にメッセージを送れる LINE Notify " LINE Engineers' Blog

HTTP POSTリクエストを送ることでLINE Notifyが使える、という、貴重な情報を発見したのはこのブログでした。Thanks!!

それと、LINE Notifyの開発ドキュメントにHTTP POSTリクエスト時に使用する各種パラメータの詳細が載っていました。

開発ドキュメント(PDF)

3ページ目から4ページ目にかけての、「通知系」項目のPOST欄のパラメータを使用します。

そんな感じ!

0 件のコメント :

コメントを投稿

いつもご覧いただきありがとうございます。
質問やご意見がありましたらこちらからどうぞ。
返答まで時間がかかる場合があります。