約束の地

キャロ組

amazon-ecs の gem を使って JANコード を ASIN に変換する方法

結論

以下のようなコードで実現できます。実行すると B079KZKTBF が表示されることが確認できます。

require 'amazon/ecs'

Amazon::Ecs.configure do |options|
  options[:AWS_access_key_id] = 'YOUR_ACCESS_KEY_ID'
  options[:AWS_secret_key]    = "YOUR_SECRET_KEY"
  options[:associate_tag]     = "YOUR_ASSOCIATE_TAG"
end

jan_code = 4573374383322
my_search_index = 'Hobbies'
res = Amazon::Ecs.item_lookup(jan_code, IdType: 'EAN', SearchIndex: my_search_index, country: 'jp')

res.items.each { |item| puts item.get('ASIN') }

補足

  • SearchIndex は指定必須なので以下の中から選ぶ必要があります
  • res には複数のアイテムが戻ってきますので*1each でバラす必要があります
  • API の制限に触れていないのに 503 が出まくるので、以下の記事のようにして回避した方がいいでしょう(記事感謝)

*1:JANコードは本来は一意ですが

Powered by はてなブログ