特定サイトの被はてなブックマーク数を取得する

はてなブックマーク日記よりXML-RPC APIが公開されたようなので、PHP版のサンプルを作ってみました。

PEARXML_RPCを利用していますので、事前にインストールしておく必要があります。

ってことで作ったサンプルは上記サイトのドキュメントのサンプルそのままですが、こんな感じです。コマンドラインから実行する形になります。

[kouichi@penguin tmp]$ cat get_all_count.php 
#!/usr/local/bin/php
<?php
require_once('XML/RPC.php');

$params = array(new XML_RPC_Value($argv[1], 'string'));
$msg = new XML_RPC_Message('bookmark.getTotalCount', $params);

$cli = new XML_RPC_Client('/xmlrpc', 'b.hatena.ne.jp');
//$cli->setDebug(1);
$res = $cli->send($msg);

if (!$res) {
        echo 'Communication error: ' . $cli->srrstr;
        exit;
}

if (!$res->faultCode()) {
        $val = $res->value();
        $count = XML_RPC_decode($val);
        echo $argv[1] . ' is bookmarked by ' . $count . ' users.';
        exit;
} else {
        echo 'Fault #' . $res->faultCode() . ': ' . $res->faultString();
        exit;
}

?>

実行例はこんな感じ。

[kouichi@penguin tmp]$ ./get_all_count.php http://b.hatena.ne.jp/            
http://b.hatena.ne.jp/ is bookmarked by 25739 users.