FiveStars!を作る上で勉強したことをまとめておく。
Amazon Associates Web Serviceへのリクエストをどこへ送信するかは、どの国のデータベースを検索・参照するかによって異なる。
- ecs.amazonaws.ca/onca/xml(カナダ)
- ecs.amazonaws.de/onca/xml(ドイツ)
- ecs.amazonaws.fr/onca/xml(フランス)
- ecs.amazonaws.jp/onca/xml(日本)
- ecs.amazonaws.co.uk/onca/xml(イギリス)
- ecs.amazonaws.com/onca/xml(アメリカ)
これらのエンドポイントに、例えばHarry Potterというキーワードで検索するには
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService // (1)などとする。なお、スペースは使えないので"%20"としていることに注意。
&AWSAccessKeyId=[Your Access Key ID] // (2)
&Operation=ItemSearch // (3)
&SearchIndex=Books // (4)
&Keywords=Harry%20Potter // (5)
#実際には一行で書く。
以降、このリクエストについて説明して行く。
(1). 一行目
決まり文句。
エンドポイントの".com"の部分は検索・参照したい国によって".jp"となったり、".co.uk"となったりする。
(2). 二行目
[Your Access Key ID]の部分には、それぞれのアクセスキーを入れる。アクセスキーの参照はAmazon Web Servicesへログイン後、"Your Account"メニューの"Access Identifier"から可能。
(3). 三行目
データベースからの検索を行うには、Operationパラメータに"ItemSearch"を指定する。他にこのパラメータには"ItemLookup"(参照)、"CartCreate"(商品を入れるカートの生成)などがある。(Operationパラメータによって他に必要なパラメータが変わってくるので、次回は各Operation毎に使い方をまとめる予定。)
(4). 四行目と(5). 五行目
"Books"カテゴリから"Harry Potter"というキーワードを含む商品を検索するという意味。
この部分はItemSearchというOperationパラメータに特有のもの。
このリクエストに対するレスポンス
きちんと必要なパラメータが渡せていれば、XMLで正しい結果が戻るはず。
上の例ではキーワードにヒットした商品の情報がItemSearchResponse->Items->Itemに格納されている。