はてなお気に入り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"} ] }
この情報は、各サービスの「お気に入り」情報を集計したものになっています。集計されているお気に入り情報は、以下の通りです。
それぞれのサービスごとの「お気に入り」ユーザーは、それぞれ個別に取得することも可能です。そのためには、以下のような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">