我需要通过perl使用亚马逊产品API来获得第三方提供ASIN的新和使用(市场)产品列表。我需要能够看到价格以及是否每个报价都由亚马逊满足(符合优质/超级节能运输的条件)。我搜索了Net :: Amazon模块,但我没有看到任何方式来做到这一点。Perl通过产品API访问亚马逊市场提供的API
有没有人做过类似的事情?
我需要通过perl使用亚马逊产品API来获得第三方提供ASIN的新和使用(市场)产品列表。我需要能够看到价格以及是否每个报价都由亚马逊满足(符合优质/超级节能运输的条件)。我搜索了Net :: Amazon模块,但我没有看到任何方式来做到这一点。Perl通过产品API访问亚马逊市场提供的API
有没有人做过类似的事情?
所以我正在寻找这个自己,它看起来像亚马逊提供的物品有属性'IsEligibleForSuperSaverShipping' => '1'
在报价。因此,这将是这样的:
my $ua = Net::Amazon->new(
associate_tag => 'derpderp',
token => 'morederp',
secret_key => 'herpaderp',
);
my $rsp = $ua->search(asin => 'B000FN65ZG');
if ($rsp->is_success()) {
if (my $o = $rsp->{xmlref}->{Items}->{Offers}) {
foreach my $offer (keys %{ $o }) {
if ($o->{$offer}->{IsEligibleForSuperSaverShipping}) {
# This is offered by Amazon.com
} # if
} # foreach
}
else {
die "Error: ", $rsp->message(), "\n";
}
的这里的问题是,Net::Amazon
产生它的存取神奇地(而不是使用Class::Accessor
,但它是旧的,所以我们可以原谅它...)。我不确定上面的{Items}
元素中的单个商品的正确访问者是什么。达到你的目标是kind of fraught with peril,但在这种情况下,找到正确的访问者不应该这么难(因为它是自动生成的),除此之外,我认为你可以感觉舒适地进入对象。
此外,您可能会建议与作者作者Mike Schilli或当前维护者Christopher Boumenot接触,这可能是值得的,尤其是如果这是亚马逊一贯产生的结果,并且只能添加到API中。与此相关的问题是,亚马逊的回报是可变的。引用perldoc,
方法因查询返回的项目而异。这是最常见的。它们都是访问器,这意味着它们可以像
Method()
一样用于检索值或像Method($value)
一样设置字段的值。
这很容易假设您可以测试super-saver-shipping-ness的返回值,因为它可能没有返回结构中的该键。
你检查了CPAN吗? –
是的,我查了CPAN。 Net :: Amazon :: Property类具有最低的已使用物品价格和已使用优惠的数量,但无法获得实际的优惠清单。我没有看到任何其他模块可以获取优惠清单。 – gcoates