如何使用他们的产品 API 从亚马逊获取新的可用书籍?

问题描述 投票:0回答:1

我正在尝试使用亚马逊的产品 API 来获取他们的新书列表,但我在做这件事时遇到了麻烦。我目前正在使用我在 here.

中找到的 ruby-aaws-0.8.1 gem

现在我已经设置了代码,使用关键字获取最新的书并设置了日期排名,但目前 api 正在给我返回最新的书,但是有没有办法让它可以给我最新可用的书?

这是我得到的第一反应,但是这本书目前没有货。 http://www.amazon.com/Artificial-Intelligence-Programming-techniques-Basic/dp/B000YC4KT6

#!/usr/bin/ruby -w

require 'amazon/aws/search'

include Amazon::AWS
include Amazon::AWS::Search

is = ItemSearch.new( 'Books', { 'Keywords' => 'Programming',
                              'Sort' => 'daterank',
                              'Available' => 'Available' })

is.response_group = ResponseGroup.new( 'Small' )

req = Request.new()
req.locale = 'us'
resp = req.search( is, 1 )

items = resp.item_search_response[0].items[0].item

items.each { |item| puts item, '' }

puts items.count
ruby-on-rails ruby amazon-product-api
1个回答
0
投票

对不起,我没有发表评论的特权。不确定这是不是问题所在,但我认为仅获取可用产品的 ItemSearch 参数是“可用性”而不是“可用”。您还需要根据文档 (http://docs.amazonwebservices.com/AWSECommerceService/2010-11-01/DG/ItemSearch.html) 将此参数与商户 ID 和条件结合使用。你能试着改变一下吗:

is = ItemSearch.new( 'Books', {'Keywords' => 'Programming',
                              'Sort' => 'daterank',
                              'Available' => 'Available' })

is = ItemSearch.new( 'Books', { 'Keywords' => 'Programming',
                              'Sort' => 'daterank',
                              'Availability' => 'Available',
                              'MerchantId' => 'ATVPDKIKX0DER',
                              'Condition' => 'All'})

上面给出的MerchantId是亚马逊美国的MerchantId。如果您想查看亚马逊在其他国家/地区的库存,或者如果您想查看第三方(阅读非亚马逊)的库存,您将需要相应地更改此 MerchantId。

© www.soinside.com 2019 - 2024. All rights reserved.