2013年6月6日

ヤフオクAPIで遊んでみた

ネットショップ運営者さんは色んなサイトで出店していることが多くて一点物とかだとその管理なんかに困ってるらしい。ある程度データ連動を自動化させて楽をしたいと思っているようだ。

●●に出品したデータとEC-CUBEの在庫データを連動したいとか、
わりとよくある話。


そんな時のためにAPIからデータを持ってくるものを作ったことがあったのだけれど、
ソース見てたらおもしろかったので遊んでみた。

APIにはクエリを投げる時にかなり細かい条件を指定できる。
参考: YahooオークションAPI


とりあえず必要最低限のクエリで、データを取ってきてみることにした。

「猫」に一致する出品データを取ってみる。
ソースはコレ↓

<?php
define('APP_ID','ヤフーで取得したAPI ID');
define('API_URL','http://auctions.yahooapis.jp/AuctionWebService/V2/search');
define('API_AGENT','auction-api-developer');
define('API_TIMEOUT',20);
$query = array(
'appid' => APP_ID,
'output' => 'xml',
'query' => '猫',
'type' => 'all',
);
$query_params = http_build_query($query);
$c = curl_init();
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_USERAGENT, API_AGENT);
curl_setopt($c, CURLOPT_TIMEOUT, API_TIMEOUT);
curl_setopt($c, CURLOPT_HTTPGET, true);
curl_setopt($c, CURLOPT_URL, API_URL. "?" . $query_params);
$res = curl_exec($c);
curl_close($c);
$objXml = simplexml_load_string($res);
foreach($objXml->Result->Item as $item) echo $item->Title . "<br>";

?>

API IDはYahoo!デベロッパーネットワークから取得できるよ。

たったコレだけでデータが取ってこれるから、なんでもできる。
API出品データ検索以外にも、特定ユーザーの出品リストを取得するAPIとかもあるから、合わせればそこそこ複雑な条件でもピンポイントで取得できそう。

なんと便利。

0 件のコメント:

コメントを投稿