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

技術のメモ帳

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

[GAS]SpreadSheetで入力されたURLのはてなブックマークの件数を出力する関数

Google Apps Script

SpreadSheetで指定したセルの文字列(URL)の、はてなブックマークの件数を出力するGoogle Apps Scriptの関数です。

使用するAPIは、はてなブックマーク件数取得API - Hatena Developer Centerとなります。

実装する関数

非常に単純ですが、UrlFetchApp.fetch()を使って、APIにGETリクエストを投げるだけです。

function hatenaBookmarkEntryCount(url) {
  try {
    if (!urlValidator(url)) throw new Error('Invalid args');
    var count = UrlFetchApp.fetch('http://api.b.st-hatena.com/entry.count?url='+url);
    return count != '' ? parseInt(count) : 0;
  } catch(ex) {
    return ex.toString();
  }
}

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

動作確認

問題なく動作しました。

以前実装した短縮URLの関数と組み合わせて使えば、スプレッドシートでさまざまなURLの効果測定ができそうですね。