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

技術のメモ帳

気が向いたときに書いてます

[GAS]Spreadsheetで入力されたURLのツイート件数を出力する関数

SpreadSheetで指定したセルの文字列(URL)の、ツイート件数を出力するGoogle Apps Scriptの関数です。

なお、こちらは非公式のAPIとなりますので、突如使えなくなることもあります。ご注意ください。

実装する関数

UrlFetchApp.fetch()を用いて、APIにGETリクエストを投げる、シンプルな実装です。

function twitterTweetCount(url) {
  try {
    if (!urlValidator(url)) throw new Error('Invalid args');
    var response = UrlFetchApp.fetch('http://cdn.api.twitter.com/1/urls/count.json?url='+url);
    return JSON.parse(response).count;
  } catch(ex) {
    return ex.toString();
  }
}

function urlValidator(str) {
  var regexp = /^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/;
  return (typeof str == 'string' && regexp.test(str));
}

動作確認

問題なく動作しました。