hagino3000's blog

平成アーカイブス (更新停止)

Google Apps Script書いた

いってきました。

Google Apps Scriptは自分で書いて実行するのすら始めてだったが、bitlyのAPIを叩いてセルに入力されたURLを短縮する関数を作ってみた。

API_ROOT = "http://api.bit.ly/v3/shorten?";
API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
API_LOGIN = "hagino3000";

function shortenUrl(url) {
  var api = API_ROOT+"&apiKey="+API_KEY+"&login="+API_LOGIN+"&longUrl="+encodeURIComponent(url);
  
  var res = UrlFetchApp.fetch(api);
  var j = Utilities.jsonParse(res.getContentText());
  return j.data.url; 
}

実行結果


oAuth1.0aは簡単にやれるUtility関数があるし、UrlFetchで頑張れば大抵の外部APIは叩ける雰囲気。cronjobっぽい起動のしかたもあるし思っていたよりも高機能な印象。

ただ、名前空間を確保して関数を押し込めておくと起動できないので。外から起動させたい関数だけはグローバルに定義しないと駄目っぽい。

// MyUtils.getHoge は直接起動できない
var MyUtils = function() {
  function getHoge() {
    return "HOGE";
  }
  return {
    getHoge : getHoge
  }
}();

// これは起動できる
function callGetHoge() {
  return MyUtils.getHoge();
}