我使用以下库来处理amazon产品api,这实际上非常酷
( - > https://github.com/livelycode
)但我仍然坚持某一点。
我设法检索回复,但不知何故我在错误的区域搜索
如何将api设置为当前区域? 我猜我已经有了欧盟地区的员工ID,所以我想我错过了一些配置 这就是我所拥有的:
var region = {
host: "ec2.eu-west-1.amazonaws.com", // use a different region to the default
};
var prodAdv = aws.createProdAdvClient('xxx',
'xxx', 'xxx-21', region);
var options = {SearchIndex: "Books", Keywords: "Javascript"}
prodAdv.call("ItemSearch", options, function(err, result) {
//console.log(JSON.stringify(result.Items.Item[0]));
console.log(result.Items.Item[0]);
});
目前它运行此服务http://webservices.amazon.com/AWSECommerceService/2011-08-01
,但我真的想将其更改为amazon.de
谢谢
答案 0 :(得分:0)
对于稍后可能对此感兴趣的人。
我切换到https://github.com/dmcquay/node-apac,只是覆盖了defaultEndPoint
var util = require('util'),
OperationHelper = require('apac').OperationHelper;
OperationHelper.defaultEndPoint = 'ecs.amazonaws.de'
var opHelper = new OperationHelper({
awsId: 'xxx',
awsSecret: 'xxx',
assocId: 'xxx-'
});
opHelper.execute('ItemSearch', {
'SearchIndex': 'Books',
'Keywords': 'harry potter',
'ResponseGroup': 'ItemAttributes,Offers'
}, function(results) {
console.log(results.ItemSearchResponse.Items[0].Item);
});
我很确定,在其他库中也可以这样。
最佳
答案 1 :(得分:0)
刚刚遇到同样的问题。 我的解决方案是在创建
时重写选项var prodAdvOptions = {host: "ecs.amazonaws.de", region: "DE"};
var prodAdv = aws.createProdAdvClient('yourAccessKeyId', 'yourSecretAccessKey', 'yourAssociateTag', prodAdvOptions );
使用prodAdvOptions,您可以更改区域和主机。