[ECS4] BrowseNodeLookupでBrowse Nodeに関するデータを取得する。
Amazon E-Commerce Services 4でREST リクエストで必須のOperationパラメータにて指定することができるBrowseNodeLookupについてです。
BrowseNodeLookupはその名前の通りBrowse Nodeに関するデータを取得することができます。Amazonは商品データのグループは「本」「DVD」などのジャンルによる管理。そしてBrowse Nodeという自分が属するグループをツリー構造で細かく管理しています。 このBrowse Nodeに対するデータを取得できます。
まずはサンプルリクエストから。
http://ecs.amazonaws.jp/onca/xml ?Service=AWSECommerceService &AWSAccessKeyId= [Access Key ID] &Operation=BrowseNodeLookup &BrowseNodeId= [Browse Node ID] &ResponseGroup= [BrowseNodeInfo or TopSellers or NewReleases]
こんな感じです。このBrowseNodeLookupでは三種類のデータ(ノード、売れ筋、新作情報)を取得できます。下のリストはDVD(Node:562002)からのツリーリストの例です。
DVD(562002)
* 外国映画(562016)
* 日本映画(562014)
* アニメ(562020)
* 総合(14126961)
* TVアニメ(12923111)
* クレイ・人形(340059011)
* キャラクター・シリーズ別(575216)
* クリエイター別(582440)
* BOX セット(692306)
* ミュージック(562018)
* テレビドラマ(16286781)
* ドキュメンタリー(16286931)
* お笑い・バラエティ(12842371)
~ 略 ~
BrowseNodeInfoは指定したBrowse IDの子ノード(1つ下の階層)のBrowse ID Listを取得します。アニメ(Node:562020)を指定したのなら「総合、TVアニメ、クレイ、キャラクター、クリエイター別、BOXセット」を取得できます。あくまで取得できるのは、子ノードのデータになります。親ノードである「DVD(Node:562002)」は取得できません。クリエイター別(Node:582440)の子ノードのデータを取得するには次のように書きます。
http://ecs.amazonaws.jp/onca/xml ?Service=AWSECommerceService &AWSAccessKeyId= [Access Key ID] &Operation=BrowseNodeLookup &BrowseNodeId=582440 &ResponseGroup=BrowseNodeInfo
このリクエストによって取得できるXMLデータは次のような感じになります。
<BrowseNode>
<BrowseNodeId>582440</BrowseNodeId>
<Name>クリエイター別</Name>
<Children>
<BrowseNode>
<BrowseNodeId>582442</BrowseNodeId>
<Name>あ行</Name>
</BrowseNode>
<BrowseNode>
<BrowseNodeId>582466</BrowseNodeId>
<Name>か行</Name>
</BrowseNode>
~ 以下略 ~
</Children>
</BrowseNode>
全部のデータを載せると長くなっちゃうので取得できるBrowse Nodeに関するデータのところのみアップしました。取得できるのはBrowse Nodeの名前とIDのみになります。
次にResponseGroupにTopSellersを指定した場合を見てみましょう。これは指定した名前を見ればわかるように指定したノードの売れ筋リストを取得します。上の例でいくと、クリエイター別のあ行(Node:582442)を指定すると、あ行のクリエイターの人が関わったDVDの売れ筋リストが出てきます。トップ10のリストが出てきます。
<BrowseNode>
<BrowseNodeId>582442</BrowseNodeId>
<Name>あ行</Name>
<TopSellers>
<TopSeller>
<ASIN>B000Q366X6</ASIN>
<Title>仮面ライダー電王 VOL.2</Title>
</TopSeller>
<TopSeller>
<ASIN>B000P1KQBC</ASIN>
<Title>仮面ライダー電王 VOL.1</Title>
</TopSeller>
~ 以下略 ~
</TopSellers>
</BrowseNode>
これも全部載せると長くなっちゃうので、TopSellerのデータのところのみです。TopSellersを指定した場合も取得できる項目はASIN番号と商品タイトルのみとなっています。NewReleasesも似たようなものなので説明は省いちゃいます。
以上です。上の例を見てもわかるように、BrowseNodeLookupを指定して取得できるデータは項目が少ないのであくまで補助的に使用するもののみとなっています。この説明だけではどんな感じかわからないと思ったのでサンプルサイトを作ってみました。ECS4 BrowseNodeLookupの動作確認用ページ。BrowseNodeLookup使用して作成したサイトで、左側がBrowseNodeInfoの結果に右側がTopSellersの結果になります。

コメント