Services_Amazonを使わない場合
本稿はServices_Amazonの利用方法を紹介するのが主題なのですが、まずは、Services_AmazonなしでAWSを利用してみましょう。これによって、Services_Amazonの内部動作への直感が働くようになります(そのような直感は、問題が発生したときにとても役に立ちます)。
各種IDの設定
登録IDとアソシエイトIDを設定します(設定しないとプログラムが終了するようにしておきます)。
$AWSAccessKeyId='';//ここで登録IDを設定する
$associateTag='';//ここでアソシエイトIDを設定する
if($AWSAccessKeyId=='') die('AWSAccessKeyId is not set.');
if($associateTag=='') die('AssociateTag is not set.');
REST
RESTは次のような手順で実行します。
- 必要な操作をURLの形で記述する
- 作成したURLで、サーバにアクセスする
- 結果のXMLを解析する
作成したURLを表示して確認するための補助的な関数を用意しておきましょう。
function echoUrl($request){
$tmp=htmlentities($request);//HTML中で利用できない文字を変換
echo "<p><a href='$tmp'>$tmp</a></p>";
}
AWSを利用するためのサーバは地域によって異なります。Developer Guideによれば、日本(JP)の場合は、「http://ecs.amazonaws.jp/onca/xml」あるいは「https://aws.amazonaws.jp/onca/xml」ですが、ここでは前者を使うことにします。安全な通信が必要なときは後者を利用してください。
$url='http://ecs.amazonaws.jp/onca/xml';
他の操作でも共通な以下のパラメータを設定しておきます。
| パラメータ名 | 値 |
| Service | AWSECommerceService |
| AWSAccessKeyId | $AWSAccessKeyId |
| Version | 2008-06-23 |
パラメータは?のあとにパラメータ名=値の形で記述します(パラメータが複数ある時は&で区切ります)。
$url.="?Service=AWSECommerceService&AWSAccessKeyId=$AWSAccessKeyId&Version=2008-06-23";
Versionは本稿執筆時点で最新のものです。Versionの指定は必須ではありませんが、指定することで、サービスの仕様を固定できます(結果が同じになるわけではありません)。省略すると、2005-10-05を指定したことになります(参考)。
