F.Ko-Jiの「一秒後は未来」ではウェブやSEO、API、RSSといった技術的ネタから、ちょっとした豆知識や梅酒、エンタメ系まで様々な情報を不定期にお届けしています。

F.Ko-Jiの「一秒後は未来」 > プログラミング > はてなブックマークのASIN被コレクション件数を取得してJSONPで返す

はてなブックマークのASIN被コレクション件数を取得してJSONPで返す

  • B!
スポンサード リンク

はてなブックマーク件数取得APIとは - はてなダイアリーに載っているサンプルを参考にして、任意のASINコードから被コレクション件数を取得してJSONP形式で返すプログラムを作ってみました。

ASINコードはピリオド区切りでasin=1234567890.2345678901のように与えます。さらにcallback=funcnameと与えると、funcname({"1234567890":1, "2345678901":2});のようなJSONP形式で結果を返します。callbackを与えない場合は、JSON形式で返します。

エントリーページに掲載しているAmazon関連商品リストのところで、このプログラムを実際に使い、被コレクション件数を取得して表示されています。

#!/usr/local/bin/perl

use strict;
use warnings;
use XMLRPC::Lite;
use CGI;

my $p = new CGI();

my $asins = $p->param('asin');
my $callback = $p->param('callback');

my @asin = split(/\./, $asins);

print "Content-type:text/plain\n\n";

map { if (!/^[0-9a-z]{10}$/i) { print "error"; die; } } @asin;
if ($callback !~ /^[a-zA-Z0-9\.\_]*$/) { print "error"; die; }

my $map = XMLRPC::Lite
        ->proxy('http://b.hatena.ne.jp/xmlrpc')
        ->call('bookmark.getAsinCount', @asin)
        ->result;

my @json = map { "\"$_\":$map->{$_}" } @asin;

if ($callback) {
 print $callback . '({' . join(",", @json) . '});';
} else {
 print '{' . join(",", @json) . '}';
}

[2010-01-12] RSS フィードの URL が変わりました。お手数ですが RSS リーダーへの再登録をお願いします。
Subscribe with livedoor Reader Add to Google Subscribe with Fastladder My Yahoo!に追加 Bloglinesで閲読登録 はてなRSSに追加 エキサイトリーダーに登録


コメントを投稿

(承認されるまでコメントは表示されません。)

プログラミング

English version

前のエントリー: « DMM.comのアフィリエイト・シンジケーション
次のエントリー: RSS広告のうざいところ »

トラックバック

このエントリーのトラックバックURL:

タイトル:

URL:

リンク用HTMLタグ:

Agile Media Network

AMN Partner Blog

広告掲載について

東京ナイロンガールズ
最近の注目記事
持っているガジェット
powered by Gadget Party
最近のつぶやき
えもにゅ

↑ 気持ち記録サービス「えもにゅ」です

このブログの読者になる

F.Ko-Jiの「一秒後は未来」 - RSSフィード

クマでもわかるこのブログの便利な更新チェック方法

DailyFeed

あわせて読みたいブログパーツ

フィードメーター - F.Ko-Jiの「一秒後は未来」

月別アーカイブ


<< March 2010
SuMoTuWeThFrSa
 123456
78910111213
14151617181920
21222324252627
28293031 
人気エントリー
TopHatenar
携帯からのアクセスは
QRコード
http://mob.fkoji.com/