特集
» 2005年01月19日 16時15分 公開

WebサービスをAmazonで知る(前編)――ECS 4.0でアフィリエイト (3/5)

[金子 順,ITmedia]

 「Service=AWSECommerceService」は、サービスとしてECSを利用するという意味になります。

 「&SubscriptionId=」と「&AssociateTag=」には、前ページで取得したsubscription IDとアソシエイトIDを指定します。

 「&Version=」は、ECS 4.0で新たに導入されたパラメータのひとつです。AmazonのECSサーバに新しく機能追加されるなど、ECSがバージョンアップすると、バージョンアップされた日付けが新しいVersionとなります。自分が開発するタイミングでの最新のバージョンを指定しておきましょう。

 Versionを指定しなければ、ECSから取得する商品データが変更された場合など、自分の開発したアプリケーションに影響が出る可能性が高いため、必ず指定する必要があります。特にトラブルになりやすいのは、後述するXSLT機能を利用して、商品情報をHTMLに変換する場合です。

 XSLT機能を利用すると、取得した商品情報XMLをHTMLに変換して表示することができます。作成するXSLT内ではXMLのnamespaceとして Versionを指定するのですが、RESTリクエストで指定するVersionと、XSLT内のnamespaceで指定するバージョンが異なっていると、XSLT変換が行われず、期待するレスポンスを受け取れません。

 RESTリクエストでVersionを指定しないと、その時点での最新のVersionとみなされます。そのためXSLTを記述した時点では問題なく動作していても、ECSが新しいVersionに更新されると、動作しなくなる可能性があります。ここは、ECS 4.0で最初に気をつけなくてはならないポイントなので、しっかりVersionを指定しましょう。

 ここまで追加したRESTリクエストのサンプルは、以下のリンクのようになります。このURLでリクエストすると、当然ですが「検索用のパラメータが足りないよ!」と怒られてしまいます。ただし、ECS 4.0からは、かなり具体的にエラーメッセージを表示してくれるため、何のパラメータが足りないかはすぐに把握することができます。この場合は、The Operation parameter が無いよと注意されます。

サンプルRESTリクエスト

 Operationパラメータとは、ECS 4.0に対してリクエストする問い合わせの種類になります。ECS 4.0では、商品情報以外にもさまざまなデータを取得することができ、Operationパラメータは以下のようなものがあります。

The Operation parameter : 問い合わせの種類
&Operation= ItemSearch (商品名、著者名などで検索)
ItemLookup (ASINなどのItemIdで、商品を検索)
ListSearch (リストマニア情報を検索)
ListLookup (リストマニア情報をID検索)
SimilarityLookup (関連商品の検索)
Help (HELPを表示。開発ツールなど用)

CartCreate (リモートショッピングカートを作成)
CartClear (カートをクリア)
CartAdd (カートに商品追加)
CartModify (カート内の情報変更)
CartGet (カートを取得)

TransactionLookup(USのみ)
CustomerContentSearch(USのみ)
CustomerContentLookup(USのみ)
SellerListingLookup (USのみ)
SellerLookup (USのみ)
SellerListingSearch (USのみ)

 Amazon.co.jpでは利用できない機能もありますが、通常は、ItemSearchとItemLookupを主に使うことが多いでしょう。

 ItemSearchは、商品名や著者、アルバムの曲名など、キーワード検索の際に指定します。ItemLookupは、ASIN番号などを指定して、特定商品を検索するのが主な用途です。

 2番目は、検索結果として、どのような情報を取得したいか? というResponseGroup指定です。AWS 3.0ではSmall、Medium、Largeという3段階でしか取得情報のバリエーションを選べませんでした。しかし、ECS 4.0ではきめ細かに取得する情報を指定できます。


ResponseGroup : 取得したい情報

&ResponseGroup=

Request (RESTリクエストのパラメータ)
ItemIds (商品のASIN、商品数、ページ数)
Small (最小限の情報)
Medium (中くらいの情報)
Large (沢山の情報)

ItemAttributes (商品の詳細情報)
EditorialReview (商品の紹介文)
Reviews (カスタマーレビュー)
ListmaniaLists (リストマニア)
Tracks (音楽CDの楽曲情報)
SalesRank (売り上げランキング)
BrowseNodes (商品がリストされるカテゴリ)
Images(商品画像のURL)
Similarities(関連商品)

OfferFull(在庫情報や価格など)
Offers (新品か中古かなど)
OfferSummary  
Accessories(デジカメなどのアクセサリのASIN)
Variation (以下をまとめて)
VariationMinimum(シャツのサイズ違いなど関連ASIN)
VariationSummary(最高値や最安値、出品数など)

 ResponseGroupパラメータは組み合わせて使うことが可能であり、例えば最低限の情報と、関連商品の情報だけがほしい時は、「&ResponseGroup=Small,Similarities」などのようにカンマ(,)で区切って複数パラメータを指定することができます。自分のプログラムで利用する情報など、必要なResponseGourpは明示的に指定することを心がけましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ