はてなお気に入り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ヶ月」に修正