マニュアル
日本語版APIがあるが、情報が古くて、間違っているものがある。 例えば、ItemSearchのItemPageの値が1〜400となっているが、1〜10が正しい(API Version 2013-08-01)。
API
- スクラッチパッド
- Web上でテストできるツール。まずはこれで試すと良さげ。
- ItemSearch
- ItemLookup
ItemSearchのパラメータ
- SearchIndex: マーケットプレイスのSearch Indexの値(例: 本=‘Books’)
- BrowseNode: ノード番号
- APIで取得するのが正しいようだが、Amazonへリンクした時の
node
の値でもだいたいは対応可能。
- APIで取得するのが正しいようだが、Amazonへリンクした時の
制限
最初は1秒間に1回となっているが、 新規登録者は10秒間に1回となっている。
Troubleshooting Applications - Product Advertising API
New applicants are limited to 8,640 requests per day, once this limit is reached your account will be limited to one request every ten seconds. Once your application is fully accepted into the Associates Program this restriction will be removed.
実際はもっと少ないかもしれない。すぐ503になる。。。
ライブラリ
Rubyではamazon-ecsが良い。 オプションの変数名はライブラリで勝手にbrowse_node -> BrowseNodeのように変換してくれる。
require 'amazon/ecs'
Amazon::Ecs.configure do |options|
options[:AWS_access_key_id] = 'アクセスキー'
options[:AWS_secret_key] = 'シークレットキー'
options[:associate_tag] = 'アソシエイトID'
end
res = Amazon::Ecs.item_search(word, {
:country => 'jp',
# その他オプションを付ける
})