APIで取得した商品情報をphpで一覧表示する
前回は、商品検索APIのリクエストURLについて説明しました。
今回は、phpを使ってAPIの取得結果から商品情報を一覧表示してみます。

リクエスト例は前回と同じ物を使います。(「デジタルカメラ サイバーショット」に関連する商品情報です。)
http://api.kakaku.com/Ver1.1/ItemSearch.aspx?Keyword=%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%AB%E3%83%A1%E3%83%A9%20%E3%82%B5%E3%82%A4%E3%83%90%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88&MaxPrice=30000&SortOrder=pricerank
下の画像は取得結果のサンプルです。 価格.comの商品検索APIのレスポンス結果画像
phpのサンプルプログラム(simplexml_load_file())
APIのレスポンスは上記画像を見ても解かるとおり、xml形式で返ってきます。
xml形式の情報をphpで処理するにはsimplexml_load_file()という便利な関数がありますので、この関数を以下のサンプルプログラムでは利用しています。
また、商品情報のレスポンスには様々な情報がありますが、サンプルプログラムでは商品画像、商品名称、商品スペック情報、発売日、満足度、最安値価格、詳細情報URL(価格.comサイト)の7つを使用しています。
その他のレスポンスに関しては、価格.comのAPIマニュアルを参考にしてください。
価格.comの商品検索APIマニュアルページ

それでは、以下にphpのサンプルプログラムを示します。

<?php

$searchWord = "デジタルカメラ サイバーショット";	//検索したい商品キーワード

$url = "http://api.kakaku.com/Ver1.1/ItemSearch.aspx?"
	 . "&Keyword=".urlencode($searchWord)
	 . "&MaxPrice=30000"
	 . "&SortOrder=pricerank";
$xmlData = @simplexml_load_file($url);
//print_r($xmlData);

echo "<table>";
foreach ($xmlData->Item as $itemValue) {
	//変数セット
	$productName = $itemValue->ProductName;		//製品名
	$saleDate = $itemValue->SaleDate;	//発売日
	$comment = $itemValue->Comment;		//製品コメント
	$totalScoreAve = $itemValue->TotalScoreAve;	//満足度
	$imageUrl = $itemValue->ImageUrl;	//画像URL
	$itemPageUrl = $itemValue->ItemPageUrl;		//アイテムビューへのURL
	$lowestPrice = $itemValue->LowestPrice;		//最安価格

	echo "<tr>";
	//商品画像HTML
	echo "<td>";
	echo "<img src="{$imageUrl}" alt="{$productName}の画像" />";
	echo "</td>";
	//商品情報HTML
	echo "<td class="itemInfo">";
	echo "{$productName}({$comment})<br/>";
	echo "発売日:{$saleDate}<br/>";
	echo "満足度(5点満点):{$totalScoreAve}<br/>";
	echo "最安値価格:{$lowestPrice}<br/>";
	echo "<a href="{$itemPageUrl}">価格.comで商品の詳細情報を見る</a>";
	echo "</td>";
	echo "</tr>";
}
echo "</table>";

?>

phpの基本的な文法についてはここでは述べません。
simplexml_load_file()でAPIからのレスポンス(XMLドキュメント)をphpで処理しやすいオブジェクトに変換して$xmlData変数にセットしています。
そして、その後のforeachループ内で各商品情報を生成して出力しています。
実行結果
上記phpプログラムの実行結果です。
サイバーショットの商品情報が表示されました。
Warning: Invalid argument supplied for foreach() in /virtual/kabufuru/public_html/webservice.kabufuru.net/kaapi/logic/itemPhpLogic.php on line 14
価格.com WEB サービス

コメントを投稿する
名前 : 
URL : 
 *入力文字数は全角700文字までです。