[Tool] はてなブックマーク数を調べるページとJavaScript
YoheiM.NETの各ブログのはてなブックマーク数を調べて、
はてブ数が多い記事をアピールしたいと思い、はてブ数をはてなAPIから取得する方法を
作成しました。
それを簡単に利用出来るページやJavaScriptを作成したので、今日はそれを紹介させて 頂きたいと思います(・∀・)
http://www.yoheim.net/usertool/hatebuCount.html
今回は、JavaScriptからはてなAPIを利用したいので、JSONPという技術を利用しました。
JSONPを使うと、クロスドメイン制約という問題を乗り越えて、はてなAPIを利用可能となります。 JSONPの使い方は、JSONPを用いてクロスドメイン制約を超える(@YoheiM.NET)を参照ください。
やっと本題。。。
という訳で、はてなAPIを利用してはてなブックマーク数を取得するJavaScriptは以下の感じです。
$.ajax関数で、jsonpを指定する事で、はてなAPIをコールすることが出来ます。
また、encodeURI関数で、「/」とか「:」とかをエンコードすることが出来ます。
ちなみに、はてなAPIはいまのところ上限回数は無いようですが、はてなさんに迷惑がかからないように 数秒くらい間隔を空けてからコール(*´∇`*)
それを簡単に利用出来るページやJavaScriptを作成したので、今日はそれを紹介させて 頂きたいと思います(・∀・)
はてなブックマーク数を調べるページ
以下のページを作りました。使い方は簡単! 調べたいURLをテキスト入力欄に入力し、調べるボタンを押せば、 画面下部分にはてなブックマーク数が表示されます。http://www.yoheim.net/usertool/hatebuCount.html
はてなブックマーク数を取得するJavaScript
上の画面では、はてなブックマーク数を取得する為に、以下のはてなAPIを利用しています。http://api.b.st-hatena.com/entry.count?url={調べたいURL}{調べたいURL}には、エンコーディングしたURL(例:http%3A%2F%2Fwww.hatena.ne.jp%2F)を指定します。 詳細は、 はてなブックマーク件数取得API を参照ください。
今回は、JavaScriptからはてなAPIを利用したいので、JSONPという技術を利用しました。
JSONPを使うと、クロスドメイン制約という問題を乗り越えて、はてなAPIを利用可能となります。 JSONPの使い方は、JSONPを用いてクロスドメイン制約を超える(@YoheiM.NET)を参照ください。
やっと本題。。。
という訳で、はてなAPIを利用してはてなブックマーク数を取得するJavaScriptは以下の感じです。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"> </script> <script type="text/javascript"> /* * はてなブックマーク数を取得する関数。 * @param targetURL * はてなブックマーク数を確認したいURL * @param callback * はてなブックマーク数をはてなAPIから取得した際に呼び出される関数。 * 引数にはてなブックマーク数(count)を受け取る。 * 以下callbackの例: * function (count) {alert(count + "users!!");} */ function getHatebuCount (targetURL, callback) { /* // Cross Orginにてエラーとなる。残念。。 $.get( "http://api.b.st-hatena.com/entry.count", {url : encodeURI(aUrl)}, function (data) { alert(data + "ブックマーク"); } ); */ $.ajax({ url : "http://api.b.st-hatena.com/entry.count", data : {url : encodeURI(targetURL)}, dataType : "jsonp", success : callback }); } // 呼び出す例 function search () { var aUrl = document.getElementById("inputURL").value; getHatebuCount( aUrl, function(data){ $("#result").html( "<span style='font-weight:bold; color:#f88;'>" + data + "users</span>"); }); } </script>
$.ajax関数で、jsonpを指定する事で、はてなAPIをコールすることが出来ます。
また、encodeURI関数で、「/」とか「:」とかをエンコードすることが出来ます。
最後に
はてなブックマーク数が把握できると、どの記事が価値があるのか分かって良いですね。ちなみに、はてなAPIはいまのところ上限回数は無いようですが、はてなさんに迷惑がかからないように 数秒くらい間隔を空けてからコール(*´∇`*)