2011年06月23日に投稿

[PHP]はてなブックマークのAPIを使って、サイト全体に付けられたブックマークの総合計を取得する

先日はてなブックマークのAPIを使って特定のURLのブックマーク数を取得するを書きましたが、その方法だとURL一つに対してのブックマーク数を取得することができますが、サイト全体のブックマーク数の合計を取得したいとなると全てのURLで取得をして合計をしなければなりません。さすがにそれは気が重いので、ダイレクトに取得できないものかと探したところAPIが用意されていました。(公式のウィジェットのデザインを考えるとAPIで持ってきたくなりますよね。)


被ブックマーク合計数取得APIを参照すると、普通のGETリクエストではなくXML-RPCというプロトコルを使用しないと取得できないようです。ここではXML-RPCをPHPで使うためにPEARのXML_RPC2を使用します。では具体的にこのブログの結果を取得して表示するサンプルコードを示します。

2行目
ライブラリを読み込みます。XML_RPC2からダウンロードしたファイルを解凍すると、下図のように中にいくつかのディレクトリが入っています。その中のうち、XMLというディレクトリだけを取り出して、このPHPが記述されたファイルと同じディレクトリに設置します。

4行目から8行目
XML_RPC2の仕様に従い作って無事に動いているのですが、正直なところこの裏でどのようなことがされているのかは今のところ分かりません。ただ、別のサイトの合計ブックマーク数を取得したい場合は8行目のgetTotalCountメソッドの引数に渡すURLを変更すれば良いです。最終的に$resultには合計数が入っています。

関連記事

Leave a Reply