maRkの

キャンペーンだとか、Chess.appについてのなにか

はてなスター総数についてメモ

b.hatena.ne.jp

スター数確認は、

  • //s.hatena.ne.jp/user名/report

でいいのだけども、総数をみるのは、スマートフォン版のスターページを見れば確か総数表示になっていたはず。(追記:デスクトップ版でもOKです。sp版のほうが軽いので。。)


面倒くさいから検証はしてない。はてなメッセージでメール送信されてくる数値と照らし合わせてみたらあっていたようなので(因にはてなメッセージで "ただいまの☆総数" とある数字は、被カラースターと被黄色スターとの合算)。

他人のスター数ですが、プロフィールが見られるユーザは、利用中のサービスを確認して、はてなスターカウントAPIを叩くことで確認できるみたいです。
はてなスターカウントAPI - Hatena Developer Center

但し、これらを合算するだけでは、総数とはいえないです。はてなスターは、はてな以外の外部サイトにも設置できるものだからです。


ちょっとこのブログもスター数取得するのをサイドバーにつけてみました。

<div id="starCount"></div>

みたいなのをサイドバーのモジュール内にいれて、それより下のほうのモジュールに以下のようなものを。(jQueryでDOM要素追加のやりかたよく知らないんで、この通りにやらないほうが体裁がいいとおもいます)

<script>
$(function(){
  var blogURL = document.getElementsByTagName('html') [0].getAttribute('data-blogs-uri-base') + '/';
  if (blogURL === '' || blogURL === null) return;
  var endpoint = 'http://s.hatena.ne.jp/blog.json?uri=';
  var request_url = endpoint + encodeURIComponent(blogURL);
  $.ajax({
    url: request_url,
    type: 'GET',
    dataType: 'jsonp',
    jsonp: 'callback',
    timeout: 5000,
    success: function (data) {
      $('#starCount').append('はてなスター数 : ' + data.star_count);
    },
    error: function () {
      $('#starCount').append('スター数取得できません');
    }
  });
});
</script>