Hatena::Grouphatenadeveloper

はてなスターカウントAPI

ja/star/apis/count

はてなスターカウントAPI

本ドキュメントは、はてなスターカウントAPIを解説するものです。

はてなスターカウントAPIは「指定したブログのエントリに全部でいくつの☆がつけられているのか」という総数を取得できるAPIです。このAPIを利用して取得したデータは、そのまま自分のブログに表示したり、そのデータをほかのサービスに取り込んで利用したり、といったことが可能です。

HTTP 要求とその応答

はてなスターカウントAPIでは、取得したいブログのトップページの URL を API の query parameter で指定します。たとえば、「はてなスター日記(http://d.hatena.ne.jp/hatenastar/)」のデータを取得したい場合は、以下のような URL にアクセスしてください。

http://s.hatena.ne.jp/blog.json?uri=http://d.hatena.ne.jp/hatenastar/

このAPIが返すデータはJSON形式になっています。

{
  "title":"\u306f\u3066\u306a\u30b9\u30bf\u30fc\u65e5\u8a18",
  "star_count":"72464",
  "count": {
    "yellow":"72460",
    "green":"4"
  },
  "uri":"http://d.hatena.ne.jp/hatenastar/"
}

返ってくるオブジェクトには以下のようなプロパティが含まれています。

プロパティ名内容
titleブログのタイトル
star_countそのブログにつけられた☆の総数
countそのブログにつけられた☆の色別の数
uriそのブログのURL

エラーが発生した場合は、 JSON の代わりに適当な HTTP 応答が返されます。例えば、指定された URL のブログが存在しない場合には 404 が、指定された URL が非公開の場合には 403 が返されます。

JSONP

URL の query parameter として callback を渡すことで、JSONP としてデータを取得できます。

http://s.hatena.ne.jp/blog.json?uri=http://d.hatena.ne.jp/hatenastar/&callback=view_star

取得できるデータは以下のようなものになります。

view_star(
  {
      "title":"\u306f\u3066\u306a\u30b9\u30bf\u30fc\u65e5\u8a18",
      "star_count":"72464",
      "count": {
        "yellow":"72460",
        "green":"4"
      },
      "uri":"http://d.hatena.ne.jp/hatenastar/"
   }
);

これを利用することで、たとえば以下のように簡単に自分のページに現在の☆総数を表示することが可能です。

<script>
function view_star(obj){
  document.write('ただいまの☆総数:'+obj.star_count);
}
</script>
<script src="http://s.hatena.ne.jp/blog.json?uri=http://d.hatena.ne.jp/hatenastar/&amp;callback=view_star">

なお、スター数は JSON 中で整数または整数を文字列化したものとして表されています。

Path 埋め込み型 URL

非推奨 ブログの URL を path 部分に埋め込んだ http://s.hatena.ne.jp/blog.json/http://d.hatena.ne.jp/hatenastar/ のような形式の URL でもスター数を取得することができます。この形式の場合、ブログの URL によっては正しい結果が取得できないことがあります。

変更履歴