PingKingブックマーク件数APIのPerl用サンプルが間違っているようだ
スポンサードリンク
はてなブックマーク件数取得API、livedoorクリップ件数取得APIだと、
$VAR1 = { 'http://pingking.jp/' => '301', 'http://b.hatena.ne.jp/' => '1478', 'http://del.icio.us/' => '942' };
みたいな構造で返ってくるのですが、PingKingだと
$VAR1 = [ { 'count' => '24', 'url' => 'http://pingking.jp/' }, { 'count' => '9', 'url' => 'http://b.hatena.ne.jp/' }, { 'count' => '6', 'url' => 'http://del.icio.us/' } ];
で返ってきます。つまり、この時点でlivedoorクリップやはてなブックマークのAPIのリザルト値と互換性がない。そんで、
開発者の方へ : ブックマーク件数取得APIサンプルプログラム:Perl編 - PingKing(ピングキング) [info.pingking.jp]
に載っているPerlでのプログラミング例
#!/usr/local/bin/perl use strict; use warnings; use XMLRPC::Lite; # リクエストメッセージの作成 my @urls = qw( http://pingking.jp/ http://b.hatena.ne.jp/ http://del.icio.us/ ); my $proxy = 'http://api.pingking.jp/xmlrpc/bookmark'; # メッセージの送信 my $result = XMLRPC::Lite->proxy($proxy) ->call( 'getCount', @urls ) ->result; # レスポンスの表示 printf( "%d\t%s\n", $result->{$_}, $_ ) for keys %$result;
が、はてなやlivedoorのそれの丸写しになっているので、そのまま入力しても動きません。
最後の一行を以下のようにすると動きます。
printf( "%d\t%s\n", $_->{count}, $_->{url} ) foreach @$result;
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2413
コメントする