M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2008年3月20日 10:54

PingKingブックマーク件数APIのPerl用サンプルが間違っているようだ

このエントリーをはてなブックマークに追加 mixiチェック

はてなブックマーク件数取得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;

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2413

コメントする