zerosp.blog > Web Service > 2007/11/04 23:36 >

[ECS4] Amazon E-Commerceサーバへのリクエスト作成。

Amazon E-Commerce Service 4.0が2004/08頃に始まったので、もう3年が過ぎていますね。ということで前VersionであるAWS3.0のサポートが終了される日も近づいてきました。一応終了予定日が2008/03/31となっていますので、2008/02くらいまでにはECS4への移行を終えていたいものです。ここではECS4の基本的な情報を備忘録として書き留めていきたいと思います。

AWS3からECS4になっても基本的なことはそんなに変わりません。ECSサーバへのデータリクエストにRESTやSOAPを使ってXMLをゲットするのやXSLTも利用できることに変わりはありません。ただXMLデータの構造とかツリー構造全部変わっています。しかし、その変わりにECS4はAWS3と比べると、データ取得の柔軟性が増したりして便利なこと数多くあります。その辺のことも徐々に書いていきたいと思います。

ECS RESTリクエストの作成

リクエスト方法にはRESTとSOAPを使えますがここではRESTを利用した方法を書きます。まず最初にECSサーバーへのリクエストURLは http://ecs.amazonaws.jp/onca/xml? 以下使用するパラメーター となります。以前は別のURLへのリクエストだったのですが、API Version 2007-02-22より現在のURLに変更になりました。

ECS4のリクエストパラメータ

ECSサーバへのリクエストは大雑把に上の図のようになります。サーバアドレス + 固定パラメータに、キーワード・ASIN検索、カート操作などの操作を指定するOperationパラメータ。そしてそのOperationに対応する操作用のパラメータ。これは検索ジャンルやキーワード、取得データ、ページングなどの指定を行います。XSLTを使ってECSを利用する場合にはXSLT用のパラメータを指定します。

とりあえず最低限でのECS RESTリクエストでXMLデータを取得してみます。

http://ecs.amazonaws.jp/onca/xml
?Service=AWSECommerceService
&AWSAccessKeyId= [Access Key ID]
&AssociateTag= [Associate ID]
&Operation=ItemSearch
&SearchIndex=Books
&Keywords=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
&Version=2007-10-29

上の例では一番単純なリクエスト例です。和書カテゴリを「プログラミング」というキーワードで商品検索を行います。作成したリクエストはUTFエンコードをする必要があります。最低限のパラメータの指定をしただけですので返ってくるXMLデータは最低限のものです。

<?xml version="1.0" encoding="UTF-8"?>
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2007-10-29">
  <OperationRequest>
    <HTTPHeaders><Header Name="UserAgent" Value=" [ブラウザのUser Agent情報] "></HTTPHeaders>
    <RequestId>0MAPRE7RATQTNN9XJN20</RequestId>
    <Arguments>
      <Argument Name="SearchIndex" Value="Books"/>
      <Argument Name="AssociateTag" Value=" [Associate ID] "/>
      <Argument Name="Service" Value="AWSECommerceService"/>
      <Argument Name="Keywords" Value="プログラミング"/>
      <Argument Name="Operation" Value="ItemSearch"/>
      <Argument Name="AWSAccessKeyId" Value=" [AWS Access Key ID] "/>
      <Argument Name="Version" Value="2007-10-29"/>
    </Arguments>
    <RequestProcessingTime>0.0775489807128906</RequestProcessingTime>
  </OperationRequest>
  <Items>
    <Request>
      <IsValid>True</IsValid>
      <ItemSearchRequest>
        <Keywords>プログラミング</Keywords>
        <SearchIndex>Books</SearchIndex>
      </ItemSearchRequest>
    </Request>
    <TotalResults>12753</TotalResults>
    <TotalPages>1276</TotalPages>
    <Item>
      <ASIN>477413256X</ASIN>
      <DetailPageURL> アフィリエイト付商品リンク </DetailPageURL>
      <ItemAttributes>
        <Creator Role="編集">WEB+DB PRESS編集部</Creator>
        <Manufacturer>技術評論社</Manufacturer>
        <ProductGroup>Book</ProductGroup>
        <Title>WEB+DB PRESS Vol.41</Title>
      </ItemAttributes>
    </Item>
    <Item>
      ~ 以下商品データの繰り返し ~
    </Item>
  </Items>
</ItemSearchResponse>

上のようなXMLデータが検索結果として返ってきます。パラメータで何も指定しなかったのでほぼ最低限の情報しか得られません。

今回はECS RESTリクエストの組み立てについて簡単にですが書いてみました。次回はOperationパラメータについてです。続きます。

投稿日 2007-11-04 23:36

当サイトのコメントとトラックバックの扱いについて。

スパム対策のため認証制となっています。受け取ったコメント、トラックバックは一旦保留扱いとなり管理人が許可したものだけ表示されます。

トラックバック

  • [ECS4] Amazon E-Commerceサーバへのリクエスト作成。のトラックバックURL

コメント

コメントフォーム