Amazon ECS Simple Store in PHPを触ってみる

いまさらですが、Amazon ECS Simple Store in PHPを触ってみました。

http://developer.amazonwebservices.com/connect/entry.jspa?entryID=498
にあるecs-php-demo.zipをダウンロードして解答して配置。とりあえずローカル(xampp)で動かしてみます。

Call to undefined function: curl_init()

のエラー。む。デジャヴ?。パーティション切り直したときにリカバリしたからでした。curlを有効にします。

C:\xampp\php\php.iniの
extension=php_curl.dll
のコメントアウトをはずします。

さらに、httpd.confの適当なところに以下を入れます。

# For PHP 5 do something like this:
LoadModule php5_module "C:/Program Files/xampp/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:\xampp/php/"

Apacheを再起動します。

動きました。

Janne Da ArcをMusicで検索するとちゃんとヒットしました。しかし、phpを見ているといくつか修正が必要なところがありました。

まず

define('KEYID','YourAccessKeyIdHere');
define('AssocTag','YourAssociateTagHere');

に自分のAccessKeyIdとAssociateTagに置き換えます。

次にこのままだとUSのAmazonの検索になっているので

define('BaseURL', 'ecs.amazonaws.jp');


define(‘KEYID’,’YourAccessKeyIdHere’);の上あたりに入れて

ecs.amazonaws.com

".BaseURL."

に置換する(5カ所)と日本のAmazonと連携できます。

最後に

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

を<title>の上に入れます。

# ブラウザは日本語があると勝手にShift-JISって解釈しちゃうことがあります。

それでもまだ商品価格が$だったり、PurchaseURLがとれなくてCheckoutに進めなかったり動かないところがあるようですが、それはまた気が向いたら調べます。

phpファイルは下記にアップしました。

http://labs.makotokw.com/sandbox/aws/ecs-php-demo/SimpleStore.php