釣られた。Services_KakakuCom
ダメだ。WebService::KakakuComや価格.com API for rubyに完全に釣られた。そして、書いている最中に価格.com Parser作った に先を越された。つーか、みんな超弩級なスピードだな。
確かに「価格.com Parserを作った」はPHPなスクリプトであるわけだが、私の方はPHP5版ってことで。つーわけで、書いてみた。日本のサイトなので、PEARにはあげるつもりはない。日本PHP会が作る?PEARチャンネルサーバに載せることはありだなー。つか、かなり適当なので、修正する箇所大有り。。。初期の予定のException使ってねーじゃん。。。orz。
今回は、さらに釣られてTDDで書いてみようと思ったわけだが、今回はパス。ユニットテストは好きなのだが、横着な私が出てきてしまったので。
タイポ指摘
a.リクエストURL
http://api.kakaku.com/Ver1/ItemSerach.asp?パラメータ名=パラメータ値・・・
って。。。Searchだろ。。リクエストURL間違えてどうする。
というわけで、当分ここに置いておく。後でインタフェースは変えると思うけど、とりあえず。
pear コマンドでインストールできるよ。
$ pear install http://www.unchiku.com/Services_KakakuCom-0.1.0.tgz
ダウンロードするときは、下のリンクで、よろしこ。
Services_KakakuCom-0.1-0.tgz
インストールは、Projects at GANCHIKU.com を見てください。ブログのリンクは古くなるので、0.1.0はそのうち消すと思います。
サンプルは、こんな感じで。
<?php
require_once 'Services/KakakuCom.php';
try {
$kakakucom = new Services_KakakuCom;
$searchResult = $kakakucom->search(array('Keyword' => 'コンピュータ', 'ResultSet' => 'mini'));
$number = (string)$searchResult->NumOfResult;
print "Number: {$number}\n";
foreach ($searchResult->xpath('//Item') as $item) {
$productID[] = (string)$item->ProductID;
}
$productResult = $kakakucom->product(array('ProductID' => $productID, 'ResultSet' => 'mini'));
var_dump($productResult);
} catch (Services_KakakuCom_Exception $e) {
print $e;
}
?>
つーか、遊んでいる場合じゃないな。。。現実逃避してすいません。。。。文章書くよりプログラム書いている方が楽しいんだもん。。。明日の仕事大丈夫かな。眠いぞ。。。
上にあるexampleのタイポ報告がありました。どうもありがとうございます。時期バージョンでは、反映させますので、よろしくお願いします。
Shin Ohno 2003-2012
Pingback: using API; 価格.com APIのライブラリが続々