【问题标题】:NodeJs Amazon Api and awsNodeJs 亚马逊 API 和 aws
【发布时间】:2014-04-29 23:48:34
【问题描述】:

我使用以下库来处理亚马逊产品 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

谢谢你

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 amazon-s3


    【解决方案1】:

    对于以后可能对此感兴趣的任何人。

    我切换到 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);
    });
    

    我很确定,类似的东西在其他库中也是可能的。

    最好的

    【讨论】:

      【解决方案2】:

      刚刚遇到同样的问题。 我的解决方案是在创建

      时覆盖选项
      var prodAdvOptions = {host: "ecs.amazonaws.de", region: "DE"};
      var prodAdv = aws.createProdAdvClient('yourAccessKeyId', 'yourSecretAccessKey', 'yourAssociateTag', prodAdvOptions );
      

      您可以使用 prodAdvOptions 更改区域和主机。

      【讨论】:

        猜你喜欢
        • 2016-11-26
        • 1970-01-01
        • 1970-01-01
        • 2022-12-03
        • 2017-01-14
        • 2011-12-21
        • 1970-01-01
        • 2014-04-20
        • 2015-01-23
        相关资源
        最近更新 更多