我的代码需要一些帮助.我是nodejs的新手,并且遇到很多麻烦.我想做什么:
2)使用amazon-product-api包获取所有产品
3)将每个产品保存在.json文件中
我的代码不起作用.我想我搞砸了这个异步同步的东西 - 帮助我!
var amazon = require('amazon-product-api');
var fs = require('fs');
var client = amazon.createClient({
awsId: "XXX",
awsSecret: "XXX",
awsTag: "888"
});
var array = fs.readFileSync('./test.txt').toString().split('\n');
for (var i = 1; i < array.length; i++) {
var ASIN = array[i];
return client.itemLookup({
domain: 'webservices.amazon.de',
responseGroup: 'Large',
idType: 'ASIN',
itemId: ASIN
})
.then(function(results) {
fs.writeFile(ASIN + '.json', JSON.stringify(results), function(err) {
if (err) {
console.log(err);
} else {
console.log("JSON saved");
}
})
return results;
}).catch(function(err) { …Run Code Online (Sandbox Code Playgroud) synchronization amazon asynchronous node.js amazon-product-api
我需要能够使用amazon API获取产品的所有报价列表.这是我发送的请求:
http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&Operation=ItemLookup&SubscriptionId=&AssociateTag=&Version=2011-08-01&ItemId=B007IJQDQQ&IdType=ASIN&ResponseGroup=Offers&Condition=All&MerchantId=All
Run Code Online (Sandbox Code Playgroud)
这将返回以下优惠:
<Offers>
<TotalOffers>1</TotalOffers>
<TotalOfferPages>1</TotalOfferPages>
<MoreOffersUrl>
http://www.amazon.com/gp/offer-listing/B007IJQDQQ%3FSubscriptionId%3DAKIAJTZ6VROOTPJAPPWQ%26tag%3Damazoautom-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB007IJQDQQ
</MoreOffersUrl>
<Offer>
<OfferAttributes>
<Condition>New</Condition>
</OfferAttributes>
<OfferListing>
<OfferListingId>
TR5sygI0VR7cwy3Hg0DBHwgCWFnkqXLyCR70jjMhy1h8gWlEisKYt5cqDbS2Fu1SEqDtfBILdxYDziJdFzfsqMpPJkBqcYV3DFovHx1nXWRy9wHS6CFZXknBvsCo1bxYS%2BsxAeYrZHrS6g6aakEJQA%3D%3D
</OfferListingId>
<Price>
<Amount>375</Amount>
<CurrencyCode>USD</CurrencyCode>
<FormattedPrice>$3.75</FormattedPrice>
</Price>
<AmountSaved>
<PercentageSaved>56</PercentageSaved>
<Availability>Usually ships in 1-2 business days</Availability>
<AvailabilityAttributes>
<IsEligibleForSuperSaverShipping>0</IsEligibleForSuperSaverShipping>
</OfferListing>
</Offer>
</Offers>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它只返回1个报价,即使它说有3个新报价.有没有人知道如何获得所有优惠而不仅仅是最低价?商家ID ='ALL'不会执行此操作,也不会执行任何其他响应组,例如offerFull,offerSummary或offer.
使用亚马逊API似乎不再可能获得产品的评论排名信息.检查此链接的说明是:
自2010年11月8日起,请求内容中仅返回iframe网址.
然而,使用params进行测试他们建议获得Iframe,但现在看来甚至Iframe都不再起作用了.因此,即使在"激励客户购买"一章中的最新API参考中,"评论"部分也完全缺失.
但是:由于我也非常感兴趣,如果它仍然可能以某种方式获得评论排名信息 - 甚至可能不使用亚马逊API而是竞争对手的API获取评论排名信息 - 我希望有人可以提供有关此主题的一些信息.
我喜欢使用IAM(身份和访问管理)来创建具有特定用途的特定权限的用户/组.
Product Advertising API需要使用访问密钥(请求参数是AWSAccessKeyId),IAM可以生成访问密钥,但我没有看到让IAM用户/组只能访问Product Advertising API的方法.
任何人都知道这是否可以做到?或者你知道一个解决方法吗?
使用亚马逊的网络服务获取任何产品信息时,是否有直接获得平均客户评级(1-5星级)的方法?以下是我正在使用的参数:
Service=AWSECommerceService
Version=2011-08-01
Operation=ItemSearch
SearchIndex=Books
Title=A Game of Thrones
ResponseGroup=Large
Run Code Online (Sandbox Code Playgroud)
我希望它的客户评分为4.5,评论总数为2177.但我在回复中得到以下内容.
<CustomerReviews><IFrameURL>http://www.amazon.com/reviews/iframe?...</IFrameURL></CustomerReviews>
Run Code Online (Sandbox Code Playgroud)
有没有办法获得整体客户评级,除了阅读<IFrameURL/>价值,为该评论页面发出另一个HTTP请求,然后屏幕抓取HTML?这种方法很脆弱,因为亚马逊可以轻松更改评论页面结构,这会破坏我的应用程序.
我正在尝试在亚马逊上自动添加和管理我们的产品.查看MWS API的API文档,看起来没有办法确定某个产品是否已被其他卖家添加到亚马逊,如果是,那么它的属性是什么.
我们正在为我们销售的所有产品构建新的产品数据库,并拥有专门针对亚马逊属性数据字段(ASIN等)的表格.如果产品信息已经在亚马逊上,我们希望通过API提取数据并将其存储到我们自己的数据库中.
如果您尝试通过CSV添加产品,该产品已经存在于亚马逊(和你的属性是不同的任何方式("M"!="中等"),您会收到和错误.在这种情况下你可以捎带现有的产品信息,只是上传CSV与你的价格和数量对特定ASIN/SKU/UPC.我们想废除上传CSV文件并再次,有我们为亚马逊自己的产品表的属性.
我是否还需要利用亚马逊的产品广告API来确定这一点,还是可以通过MWS来完成?
亚马逊API的文档并不是很精彩,而且尝试对其进行排序的速度很慢.
其他信息:我们正在与Ruby合作.
我正在尝试在我的iOS应用程序中访问亚马逊的产品广告API.创建签名似乎是一个艰难的部分.在本页面:
http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/rest-signature.html
它说"使用SHA256哈希算法计算符合RFC 2104的HMAC".亚马逊还提供了一个java类来为您执行此操作:
http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/AuthJavaSampleSig2.html
有人知道我如何在Objective-C中做到这一点吗?我查看了AWS iOS SDK,但它似乎没有包含Product Advertising API.
amazon objective-c amazon-web-services amazon-product-api ios
如何从现有类别中获取所有亚马逊产品?
使用API,我可以浏览10页并获得每页10个产品.
该类别有502348件产品,我想把它们全部搞定.
这是我的代码:
Amazon Product Advertising API <?php ?>
$params = array(
'Operation' => 'ItemSearch',
'SearchIndex'=>'Electronics',
//'BrowseNode'=>'281052',
'ResponseGroup'=>'small',
//'MerchantId' => 'All',
//'Condition'=>'New',
'ItemPage'=>'1471',
Run Code Online (Sandbox Code Playgroud) php amazon soap-client amazon-web-services amazon-product-api
我正在连接到亚马逊产品广告API,为了签署我的请求,我需要对HMAC-SHA256哈希的原始二进制输出进行base64编码.
在hash_hmac的PHP文档中,第四个参数bool $raw_output控制输出是原始二进制数据(true)还是小写hexits(false).我的程序只需将该参数设置为true即可在PHP中运行.
但是,我现在正试图将其移植到Javascript.我尝试使用CryptoJS.HmacSHA256()函数,但它似乎返回小写的六角形.如何将其转换为二进制?
我根据CryptoJS文档尝试了以下内容,但两个输出都是相同的:
var hash = CryptoJS.HmacSHA256("hello", "key");
console.log(hash.toString());
console.log(hash.toString(CryptoJS.enc.Base64));
Run Code Online (Sandbox Code Playgroud) amazon ×7
php ×2
amazon-iam ×1
amazon-mws ×1
api ×1
asynchronous ×1
base64 ×1
binary ×1
ios ×1
javascript ×1
node.js ×1
objective-c ×1
soap-client ×1