Amazon Product Advertising APIのItemSearch
オペレーションのパラメータとしてSearchIndex=Allが日本でも利用できるようになったらしいので、とりあえずAexという名前でAmazon.co.jpの検索サイトを作ってみた。これでドロップダウンでカテゴリを選択とかいう腐ったUIから解放される。
SearchIndex=All
を指定すると全商品からKeywordsに指定した文字列で検索してくれる。SearchIndex=Blended
とはまったく違い、カテゴリごとに検索結果が分けられて返ってきたりはしない。色々検索してみたところ、Amazon.co.jpでの検索と同じ結果で、概ね期待通りの検索結果が返ってくるようだ(ItemSearch
オペレーションのデフォルトではCondition=New
なので中古商品などが含まれないというような違いはあったりもする)。
SearchIndex=All
のみの制限として、検索結果のページングに使用するItemPage
の最大値が5(SearchIndex=Books
などの場合は400)までというのがあるようだ。またSort
に指定できる値も、
price
-price
relevancerank
salesrank
の4つだけになっており、名前順でソートなどは不可能。他にも何か制限ありそう……。
ItemAttributes/ProductGroup
の値の一覧が(できれば対訳も)欲しい。今まではSearchIndex
でカテゴリを絞っていたのでProductGroup
の値を意識しないでも何とかなったけど、全カテゴリから検索できるようになるとどのカテゴリの商品かをProductGroup
から類推することになるが、ローカライズされていないのでCEとか言われてもわからない。
Amazon アソシエイト・プログラム(アフィリエイト)公式ブログではProduct Advertising APIをPAAPIって略してるんだな。ぱーぴ!! 1
IE8ではonhashchange
、それ以外のブラウザでは古のsetInterval()
を使った簡単なjQueryプラグインを書いて、ブラウザの戻る・進むに対応させた。普通にjQuery history pluginを使えば良かったという……。Firefox 3.xでは、
location.watch("hash", function (obj, oldVal, newVal) {
$(window).trigger("hashchange");
});
とか初めてObject.watch()
を使ってやってみたんだけど、location.hash
に値をセットしようとすると#undefined
とかなってわけがわからなくなった。どうせ3.6でonhashchange
導入されるから良いか。
クエリの方式を#q=foo;p=3
という形に変えたり、スタイルをモノクロにしたり、バグ直したり。