あけましておめでとうございます。 本連載も好評のうちに,無事,新年を迎えることができました。 ありがとうございます。

 昨年,2006年は企業からの Web サービス API の公開も相次ぎ, Ajax 技術の普及でリッチ・インタフェースを備えたマッシュアップ・サイトも大変増えてきました。 そうした先端的な Web サイトのメリットはまだまだ一部の限られたユーザーが享受しているに過ぎないでしょうが, 今年は一般のより多くの人も利用しやすいように拡がる年になるのではないかと期待しています。

 本連載では今年も,実践的なマッシュアップのテクニックや, 使いやすい Web サービス API をご紹介していくことで【とりあえず実際に触ってみる】こと, そして手軽にマッシュアップや Web サービス API 利用アプリの開発に取り組める, そんなサポートができればと思います。 よろしくお願いいたします。

ソーシャルブックマークのブックマーク件数

 さて,連載第6回となる今回は,ソーシャルブックマークを取り上げます。 ソーシャルブックマークサービスは, 自分でお気に入り(ブックマーク)をネット上に保存して後で編集・検索できたり, 会社と自宅など複数のパソコンで共有できるサービスです。 また,別の見方をすれば (SEO やリンクファームの蔓延で汚染されつつある) Google Rank では測れない Web 2.0 の集合知によるページ評価システムとしても, ソーシャルブックマークをとらえることができるでしょう。

 このソーシャルブックマークは, 使っていないとそのメリットがなかなか理解しにくいサービスの一つと言えます。 まだ利用されていない方は,ぜひ一度お試しください。 ITpro でも 「はてな」を使ったWeb情報の収集・活用術 の記事で使い方などが紹介されていますので,詳しくはそちらを参照してください。 日本国内では はてなブックマーク が多く利用されているようです。 あまり慣れていない方には, livedoorクリップ のほうが登録手順などわかりやすいかもしれません。

図1:はてなブックマーク

 はてなブックマーク では,トップページに人気エントリー(最近のブックマーク件数の多いページ)が紹介されています。 このブックマーク件数の値を,ページの人気を計るモノサシとしても利用できるわけです。

図2:はてなブックマークの件数例(192 users)

 マッシュアップ・サイトを含む Web サイトを作成したり, ブログの記事を更新した後の効果測定として, ブックマーク件数を活用してみましょう。

はてなブックマーク件数取得API

 はてなブックマークでは, XML-RPC を利用してプログラムから任意の URL のブックマーク件数を取得できる はてなブックマーク件数取得API が公開されています。 サンプル・プログラム も掲載されているので,ブックマーク件数の取得プログラムの作成もそれほど難しくありません。 また,非公式ではありますが,Perl なら拙作 WebService::Hatena::BookmarkCount モジュールを利用すれば,さらにお手軽な開発が可能でしょう。

 「XML-RPC とは?」の詳しい解説はここでは省略しますが, 要は,リクエストとしてリスト1の XML を投げると, レスポンスとしてリスト2の XML が返ってくる仕組みです。

リスト1:XML-RPC リクエスト例
<?xml version="1.0" encoding="UTF-8" ?>
<methodCall>
  <methodName>bookmark.getCount</methodName>
  <params>
    <param>
      <value>
        <string>http://itpro.nikkeibp.co.jp/article/COLUMN/20061020/251301/</string>
      </value>
    </param>
  </params>
</methodCall>

 この例では,メソッド名に bookmark.getCount,値に URL を指定してリクエストとしています。 それに対してレスポンスでは,そのページのブックマーク件数が int 型の値として返ってきます。 この例では,192人のユーザーからブックマーク登録されていることがわかります。

リスト2:XML-RPC レスポンス例
<?xml version="1.0" encoding="us-ascii"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>http://itpro.nikkeibp.co.jp/article/COLUMN/20061020/251301/</name>
            <value>
              <int>192</int>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

 XML-RPC の仕様により要素数が多く,見た目は複雑そうですがデータの構造は意外と単純です。 しかし,このような XML-RPC 処理を行うプログラムを開発しなくても, もっと簡単にブックマーク件数を取得できる API が登場しました。