読者です 読者をやめる 読者になる 読者になる

PushbulletのAPI経由でPush通知する

プログラム

Pushbullet というサービスのAPIを使ってPushbulletがインストールされた端末(iPhone, Android, PCブラウザ) に向けてPush通知する術をあれこれ調べた際のメモです。

そもそもPushbulletは先に書いた様なPushbulletのクライアントアプリがインストールされた端末間で相互にテキストや画像を相互にやり取りできるサービスです。Googleアカウントのみで利用することができます。

Chrome Web Store - Pushbullet Chrome Web Store - Pushbullet このエントリーをはてなブックマークに追加

Pushbullet - Google Play の Android アプリ Pushbullet - Google Play の Android アプリ このエントリーをはてなブックマークに追加

Pushbullet on the App Store on iTunes Pushbullet on the App Store on iTunes このエントリーをはてなブックマークに追加

これらを端末に導入することで導入した端末間で例えば、

  • iPhoneで撮影した画像をPC側へ送る
  • PCのChromeブラウザでメモしたURLをiPhoneに送る

といったことが簡単にできてとても便利なのですが、APIが用意されているのでプログラムを作成して操作することもできます。

まず、APIのアクセストークンを取得します。Pushbulletにログインして、右上のアカウント設定(Account Settings)を選ぶとAPIAccess Tokenが表示されるのでこちらを控えます。

で、これを利用してAPIを呼び出せばPushbullet経由で任意の情報をPushbulletが導入された端末にPushすることができます。素朴なHTTP APIなので各言語向けにライブラリが用意しているのでそちらを利用すると良いかと思います。

以下、node.jsの場合、npmに pushbullet というパッケージがあるのでそちらを利用すると楽です。

NPM

$ npm install pushbullet

を行った後、以下の様な実装でPushbullet導入端末にプッシュすることができます。

第1引数にPushbulletで使ったGoogleアカウントのメールアドレスを渡すとPushbulletの自身のアカウントに紐もづいている全てにPush、Pushbulletで割り当てられているdevice ID を渡すと特定の端末のみにPushできます。

var PushBullet = require('pushbullet');
var pusher = new PushBullet("*******");   // Access Token

pusher.note("****@gmail.com", "test", "test body", function(error, response) {
  // snip
});

とするだけで、例えばiPhoneであれば、

といった具合にPush通知がされて、開くと、

といった具合で、pushした本文も含めて表示されます。他にも通知の種類があって、

pusher.link("****@gmail.com", "blog", "http://hideack.hatenablog.com", function(error, response) {});

とすると、リンクを直接通知することができて、このPush通知を開くと

と、Pushbulletアプリ内のブラウザで即座に該当するページが開かせることができたり、

pusher.list("*****@gmail.com", "list", ["foo", "bar", "hoge"], function(error, response) {});

とすると、以下の様なチェックリストを送ることができます。

Pushbulletで用意されているiPhone/Android向けアプリやブラウザ拡張でも素朴に便利なのですが、エンジニアの方であればAPI経由で操作することでいろいろ拡張できそうですね。というお話でした。