楽天ウェブサービス入門【PHP】

楽天ウェブサービスに入門する。
出力は「xml」と「json」が選べるらしいが、親しみのある「xml」をつかおう。
例によって、simplexmlで読もうとするが失敗。
うーん?わからん。
公式ページによると、SDKによるデータ取得がオススメらしい。
「SDK」とは、Software Development Kitの略で、その中の「Rakuten Web Service SDK for PHP」は、PHPアプリケーションから 楽天が提供しているAPIに、簡単にアクセスすることができる。(※PHP5.2.3以上)
つまりは、PHPライブラリの一種。
PHPのバージョンが心配だったが、PHP5.2.3以上。ミニバードやるじゃん。
見本通り書き呼び出し成功。
ただし、どうも楽天ウェブサービスでは大きい画像が取得できないらしい。
64×64の[smallImage]か128×128の[mediumImage]かの二択。悲しすぎる。
最後にブログパーツ化して、完成。

最終コード

<?php
header("Content-type: application/x-javascript");//js
$id = $_GET['id'];//JavaScriptで飛ばしてくる変数。
$number = $_GET['number'];
$select = $_GET['select'];
$key = $_GET['key'];
require_once dirname(__FILE__).'/sdk/autoload.php';//sdkをリクエスト
$client = new RakutenRws_Client();
$client->setApplicationId('XXXXXXXX');
$client->setAffiliateId($id);
if(empty($id)){//もしIDが空なら、XXXXXXXX
	$client->setAffiliateId('XXXXXXXX');
}
$response = $client->execute('ItemSearch', array(
  'keyword' => $key,
  'hits' => $number
));
//var_dump($response);
if ($response->isOk()) {
    // レスポンスを foreach でアクセスできます
    foreach ($response as $item) {
	$gazolink = "<a target='_blank' href=".$item['affiliateUrl']."><img src=".$item['mediumImageUrl']."></a>";
	$titlelink = "<div class='aztitle'><a target='_blank' href=".$item['affiliateUrl'].">".$item['itemName']."</a></div>";
//▼//$selectで表示方法を分岐。
		if($select == 'txt'){//テキストだけ
			$mix = "<div class='az'>".$titlelink."</div>";
		}elseif($select == 'img'){//画像だけ
			$mix = "<div class='az'>".$gazolink."</div>";
		}else{//全部
			$mix = "<div class='az'>".$gazolink."<br>".$titlelink."</div>";
		}
//▲//
		$output = $output.$mix;//ループさせるための自己読み込み
	}
}
echo "document.write(\"$output\")";
?>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です