リベルさんの戯言室

ゲームの攻略とか映画のネタバレとか。そのほかヌルヌル書いてます。リンクフリーです。※当ブログはPC版表示に最適化されています。

Liber Nonsense Room

リベルさんの戯言室

Google Apps ScriptでPushbulletの最新の通知を取得する


Google Apps Script(GAS)を今更ながら使い始めました。


Google Apps Script(GAS)とは

Googleが公開しているスクリプト実行環境的な感じ。
スプレッドシート特化かとかってに勘違いして今まで触れてなかったけど、クラウド上にスケジュール実行可能なスクリプトを配置しておけるので、使いこなせればめちゃめちゃ便利。




Pushbulletとは

スマホとPCでデータの共有できます。
Androidの場合は、スマホの通知をミラーリングしてPC側に送れるという、特殊な事情がある場合に使えます。

PushbulletはAPIが公開されています

docs.pushbullet.com

本題。GASでPushbulletの最新の通知を取得する

ネットで検索しても出てこなかったので、以下を参考に実装。
www.egao-inc.co.jp
上記は送信用なので、APIのドキュメントを見つつ受信側に変えてみた。

function getPushbullet() {
  //PushbulletのAPIキー
  var apikey = 'Basic ' + Utilities.base64Encode('〇〇〇〇〇' + ':');
 
  //Pushbullet接続設定
  var options = {
    'method' : 'get',
    'headers' : {
      'Authorization': apikey
    }
  };
 
  // APIURL
  var pushbullet_url = 'https://api.pushbullet.com/v2/pushes';
  
  // リクエストの送信
  var res = UrlFetchApp.fetch(pushbullet_url, options);
 
  //取得したレスポンスをログ出力
  Logger.log(res)

  //json
  var json=JSON.parse(res.getContentText());

  //取得結果
  Logger.log(json["pushes"][0]["body"])

  //DELETE
  var options = {
    'method' : 'delete',
    'headers' : {
      'Authorization': apikey
    }
  };
  var res = UrlFetchApp.fetch(pushbullet_url, options);
}

注意事項

〇〇〇〇〇のところには、PushbulletのAPIキーをセットしましょう
APIで取得したデータを「json」の部分でjsonにparseしています。0番目が一番新しいやつ。
 →過去のデータが欲しい場合は適当に配列の数確認してからループで回せばOK。
取得した結果を判定できないので最後にDeleteしています。不要ならDELETE以降は削除してください。