メインコンテンツまでスキップ

はてなお気に入りAPI

本ドキュメントは、はてなお気に入りAPIを解説するものです。

はてなお気に入りAPIは、あるユーザーが気になっている「お気に入り」ユーザーの一覧を取得できるAPIです。「気になっている」かどうかは、はてな内でのコメントをつける、スターをつける、同じグループに所属するといった行動から算出しています。

お気に入りAPIのURIは以下のようになっています。

http://www.hatena.ne.jp/[ユーザー名]/favorites.json

たとえば「しなもん日記」の作者id:hatenacinnamonの場合は以下のようになります。

http://www.hatena.ne.jp/hatenacinnamon/favorites.json

データはJSON形式で取得できます。

{
"favorites":[
{"name":"jkondo"},
{"name":"kawasaki"},
{"name":"naoya"},
{"name":"onishi"},
{"name":"reikon"},
{"name":"Dice-Kei"},
{"name":"danjou"},
{"name":"qoo-chan"},
{"name":"stanaka"},
{"name":"tikeda"},
{"name":"wanpark"},
{"name":"koromama"},
{"name":"kiyohero"},
{"name":"okaki"},
{"name":"kotorikotoriko"},
{"name":"sigmund"},
{"name":"keiichirohirano"},
{"name":"hideoki"},
{"name":"kossy"}
]
}

この情報は、各サービスの「お気に入り」情報を集計したものになっています。集計されているお気に入り情報は、以下の通りです。

  • はてなダイアリー
    • 最近トラックバックを飛ばしたり、コメントを書き込んだはてなダイアリーのユーザー
  • はてなアンテナ
    • アンテナに登録しているはてなダイアリーやはてなグループの日記のユーザー
  • 廃止 はてなRSS
    • はてなRSSに登録しているはてなダイアリーやはてなグループの日記のユーザー
  • はてなグループ
    • 同じグループに属しているユーザー。
      • 少人数のグループから順番に足していき、30人を超えたらそこで終わります
  • はてなスター
    • 最近3ヶ月以内に☆をつけたことがあるユーザー

それぞれのサービスごとの「お気に入り」ユーザーは、それぞれ個別に取得することも可能です。そのためには、以下のようなURIにアクセスしてください。

http://d.hatena.ne.jp/hatenacinnamon/favorites.json
http://a.hatena.ne.jp/hatenacinnamon/favorites.json
http://r.hatena.ne.jp/hatenacinnamon/favorites.json
:
:

お気に入りAPIでは、クエリパラメータとしてcallbackを渡すことで、JSONPとしてデータを取得できます。

http://www.hatena.ne.jp/hatenacinnamon/favorites.json?callback=view_favorites

その場合は、以下のようなデータが取得できます。

view_favorites(
{
"favorites":[
{"name":"jkondo"},
{"name":"kawasaki"},
{"name":"naoya"},
{"name":"onishi"},
{"name":"reikon"},
{"name":"Dice-Kei"},
{"name":"danjou"},
{"name":"qoo-chan"},
{"name":"stanaka"},
{"name":"tikeda"},
{"name":"wanpark"},
{"name":"koromama"},
{"name":"kiyohero"},
{"name":"okaki"},
{"name":"kotorikotoriko"},
{"name":"sigmund"},
{"name":"keiichirohirano"},
{"name":"hideoki"},
{"name":"kossy"}
]
}
);

これを利用することで、たとえば以下のように簡単に自分のページにお気に入りのユーザー名を表示することなどが可能です。

<script type="text/javascript">
function view_favorites(obj){
var count = obj.favorites.length;
for( var i=0; i<count; i++ ){
document.write('<p>'+obj.favorites[i].name+'</p>');
}
}
</script>
<script type="text/javascript" src="http://www.hatena.ne.jp/hatenacinnamon/favorites.json?callback=view_favorites">

変更履歴

  • 2010年12月13日 Hatena Developer Center で改めて公開
  • 2011年2月1日 はてなスターでの条件を現状に合わせて「1ヶ月」から「3ヶ月」に修正