このページの本文へ

前へ 1 2 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

「はてなブックマークエントリー情報取得API」で手軽にできる

はてブの評判が丸分かり! APIを使ってみよう

2009年02月12日 08時00分更新

文● 藤本 壱


はてなブックマークの情報を表示するJavaScript

 ここまでで述べた手順を元に、APIを使ってはてなブックマークの情報を表示するJavaScriptを作ってみました。

 まず、情報を表示する先のWebページに、以下のようなHTMLタグを追加します。「情報を読み込んでいます。」のメッセージは、適宜変えていただいて構いません。この <div id="hatena_bookmark">~</div>の中が、はてなブックマークの情報が表示される場所になります。


<div id="hatena_bookmark">情報を読み込んでいます。</div>


 次に、上のdivタグよりも後に、以下のJavaScriptを追加します。このJavaScriptは、WebページのURLを自動的に判断して、そのWebページのはてなブックマークの情報を読み込み、一覧表示するものです。

■はてなブックマークの情報を表示するJavaScript


<script type="text/javascript">
var FJShowHatenaBookmarkInfo = {};
FJShowHatenaBookmarkInfo.setup = function() {
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = 'http://b.hatena.ne.jp/entry/json/?url=' + encodeURIComponent(location.href) + '&callback=FJShowHatenaBookmarkInfo.show';
    document.getElementsByTagName('head')[0].appendChild(script);
};
FJShowHatenaBookmarkInfo.show = function(data) {
    var elm = document.getElementById('hatena_bookmark');
    if (!data) {
        elm.innerHTML = '<p>まだ情報がありません。</p>';
        return;
    }
    var html = '<p>ブックマーク数 : <a href="' + data.entry_url + '">' + data.count + '</a></p>';
    if (data.count > 0) {
        html += '<ul>';
        for (var i = 0, j = data.bookmarks.length; i < j; i++) {
            var bookmark = data.bookmarks[i];
            html += '<li>';
            html += '<span class="bookmark-user">' +  bookmark.user + '</span>';
            html += ' <span class="bookmark-date">' +  bookmark.timestamp + '</span>';
            if (bookmark.comment) {
                html += '<br /><span class="bookmark-comment-title">コメント : </span>';
                html += '<span class="bookmark-comment-text">' +  bookmark.comment + '</span>';
            }
            if (bookmark.tags.length) {
                html += '<br /><span class="bookmark-tag-title">タグ : </span>';
                html += '<span class="bookmark-tag-title">' + bookmark.tags.join(', ') + '</span>';
            }
            html += '</li>';
        }
        html += '</ul>';
    }
    if (data.related.length) {
        html += '<p>関連するWebページ</p>';
        html += '<ul>';
        for (i = 0, j = data.related.length; i < j; i++) {
            var related = data.related[i];
            html += '<li>';
            html += '<a href="' + related.url + '">' + related.title + '</a>';
            html += '</li>';
        }
        html += '</ul>';
    }
    elm.innerHTML = html;
};
FJShowHatenaBookmarkInfo.setup();
</script>


 ブログなど、個々のページにはてなブックマークの情報を表示したいときは、JavaScriptを外部化しておくと便利です。その場合は、ソースコードの1行目 <script type="text/javascript"> と、最後の行の </script> を除いたものjsファイルとして保存し、個々のページに以下のscriptタグを入れましょう。


<script type="text/javascript" src="JavaScriptのアドレス"></script>


 また、ブックマークの情報は「FJShowHatenaBookmarkInfo.show」関数で表示しています。この関数の中身を書き換えれば、APIで取得した情報の表示方法を変えることもできます。ぜひ試してみましょう。


前へ 1 2 次へ

カテゴリートップへ

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

Microsoft Windows 7 Home Premium 通常版 Service Pack 1 適用済み

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

83人が購入

BenQ 24型 LCDワイドモニタ XL2420T

BenQ 24型 LCDワイドモニタ XL2420T

ベンキュージャパン

37,238円〜

3人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

20人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

6人が購入

Amazon.co.jp