[ECS4] ListSearch、ListLookupでAmazonのリストに関するデータを取得する
今回はAmazonのウィッシュリストとリストマニアのデータ取得に関することになります。最初にウィッシュリストを検索するListSearchオペレーションのほうからみていきます。カスタマーの名前やメールアドレスが分かれば、ウィッシュリストの検索することができます。検索できるのはウィッシュリストのみでリストマニアは検索対象にはならないようです。下記がリクエストサンプルになります。名前とメールでは検索するパラメータが変わります。
http://ecs.amazonaws.jp/onca/xml ?Service=AWSECommerceService &AWSAccessKeyId= [Access Key ID] &Operation=ListSearch &ListType=WishList == Name or Email is required parameter == &Name= [Name of list creator] &Email= [Email address of list creator]
名前を指定してListSearchをした場合に取得できるXMLデータは次のような感じです。Listのデータ部だけを切り取って載せています。
<Lists>
<Request>
<IsValid>True</IsValid>
<ListSearchRequest>
<ListType>WishList</ListType>
<Name>joy</Name>
</ListSearchRequest>
</Request>
<TotalResults>28</TotalResults>
<TotalPages>3</TotalPages>
<List>
<ListId>BR4444442H77</ListId>
<ListURL>http://www.amazon.co.jp/gp/registry/wishlist/BR4444442H77</ListURL>
<ListName>Wishlist</ListName>
<ListType>WishList</ListType>
<TotalItems>9</TotalItems>
<TotalPages>1</TotalPages>
<DateCreated>2005-06-25</DateCreated>
<CustomerName>Joy</CustomerName>
</List>
<List>
~ 以下略 ~
</List>
</Lists>
ListSearchによって取得できるデータ項目は、リストID、ウィッシュリスト名、カスタマー名、リストの作成日、リストに登録されている商品数、リストのURLになります。
ListLookupオペレーションでリストに登録されているデータを取得する。
ListLookupはECS4から取得したリストIDを利用して行います。これによりリストマニアやウィッシュリストに登録されている商品が何であるかをみることができます。リストマニアはカスタマーの人たちがテーマを決めて商品をリスト化していることが多いので、リストから新たな商品を発見できたりしていいかもしれません。
http://ecs.amazonaws.jp/onca/xml ?Service=AWSECommerceService &AWSAccessKeyId=[Access Key ID] &Operation=ListLookup &ListType= [WishList or Listmania] &ListId= [List ID] &ResponseGroup=ListInfo,Small
ListLookupは取得できるデータはResponseGroupによって明示的に指定することができます。ここではListInfo,Smallをしていて取得できたリストマニアのXMLデータを以下にのせます。
<Lists>
<Request>
<IsValid>True</IsValid>
<ListLookupRequest>
<ListId>3M0O49FVPV8G8</ListId>
<ListType>Listmania</ListType>
<ResponseGroup>ListInfo</ResponseGroup>
<ResponseGroup>Small</ResponseGroup>
</ListLookupRequest>
</Request>
<List>
<ListId>3M0O49FVPV8G8</ListId>
<ListURL>http://www.amazon.co.jp/gp/richpub/listmania/fullview/3M0O49FVPV8G8</ListURL>
<ListName>イージーリスニングのすすめ</ListName>
<ListType>Listmania</ListType>
<TotalItems>16</TotalItems>
<TotalPages>1</TotalPages>
<DateCreated>2003-06-02</DateCreated>
<ListItem>
<Item>
<ASIN>B000001IRB</ASIN>
<DetailPageURL> アフィつき商品リンク </DetailPageURL>
<ItemAttributes>
<Artist>NOFX</Artist>
<Creator Role="アーティスト">NOFX</Creator>
<Manufacturer>Epitaph</Manufacturer>
<ProductGroup>Music</ProductGroup>
<Title>Heavy Petting Zoo</Title>
</ItemAttributes>
</Item>
</ListItem>
</List>
<List>
~ 以下略 ~
</List>
</Lists>
ListLookupはResponseGroupの指定によって取得できるデータが変わってきます。ResponseGroupについては今度書くつもりですが、AWS3の頃のlite or heavyのデータタイプの2種だけではないのでかなり柔軟に欲しいデータにアクセスできるようになります。
今回はListlookupなので、「どんなリストから?いつ作ったリスト?」のデータは知りたいことだと思うのでResponseGroupにListInfoは指定するようにしてください。その名の通りリスト情報を一緒に返してくれます。今回の上記のデータ例だと、ListId、ListURL、ListName、ListType、TotalItems、TotalPages、DateCreatedが取得できます。
リストマニアに関する動作の確認ページだけ作りました。テストサーチ(Amazon ECS4)
コメント