WebサービスをAmazonで知る(前編)――ECS 4.0でアフィリエイト(3/5 ページ)
最近はBlogなどでAmazonアソシエイト・プログラムを利用する人が多いだろう。しかし、Webサービスとして提供されているこのサービスは、比較的容易なプログラミングで可能性が広がることを知っているだろうか。
「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 が無いよと注意されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Operationパラメータとは、ECS 4.0に対してリクエストする問い合わせの種類になります。ECS 4.0では、商品情報以外にもさまざまなデータを取得することができ、Operationパラメータは以下のようなものがあります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Amazon.co.jpでは利用できない機能もありますが、通常は、ItemSearchとItemLookupを主に使うことが多いでしょう。
ItemSearchは、商品名や著者、アルバムの曲名など、キーワード検索の際に指定します。ItemLookupは、ASIN番号などを指定して、特定商品を検索するのが主な用途です。
2番目は、検索結果として、どのような情報を取得したいか? というResponseGroup指定です。AWS 3.0ではSmall、Medium、Largeという3段階でしか取得情報のバリエーションを選べませんでした。しかし、ECS 4.0ではきめ細かに取得する情報を指定できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ResponseGroupパラメータは組み合わせて使うことが可能であり、例えば最低限の情報と、関連商品の情報だけがほしい時は、「&ResponseGroup=Small,Similarities」などのようにカンマ(,)で区切って複数パラメータを指定することができます。自分のプログラムで利用する情報など、必要なResponseGourpは明示的に指定することを心がけましょう。
Copyright © ITmedia, Inc. All Rights Reserved.