我正在尝试使用亚马逊的API并使用以下代码和amazon ecs gem搜索一本书,这是我的Ruby on Rails应用程序的一部分:
Amazon::Ecs.options = {
:AWS_access_key_id => 'myaccesskeyid',
:AWS_secret_key => 'mysecretkey'
}
res = Amazon::Ecs.item_search('ruby')
puts res
在终端,我想我得到了回应,因为我最终回来了:
<Amazon::Ecs::Response:0x000001069911d0>
如何访问数据或通过此解析?
答案 0 :(得分:0)
根据docs,您可以检查您的回复对象是否有任何错误,并使用以下方法检查总结果:
res.has_error? # return true if there is an error
res.total_results # return total results
假设您的响应对象没问题,您可以遍历每个项目并提取您感兴趣的数据。例如:
res.items.each do |item|
# retrieve string value using XML path
item.get('ASIN')
item.get('ItemAttributes/Title')
end
不确定你是否已经尝试过,但看起来是个好地方。
答案 1 :(得分:0)
403 Forbidden可能意味着您未通过AWS访问密钥和密钥正确发送。
Amazon :: Ecs.options = {
:AWS_access_key_id =&gt; 'myaccesskeyid',
:AWS_secret_key =&gt; 'mysecretkey'
}
'myaccesskeyid'和'mysecretkey'应该是您从AWS收到的字母数字