0

我想使用亚马逊产品广告 API 搜索产品。

我已经开始使用 Java 示例代码来搜索产品(com.advertising.api.sample)。

编译并运行良好,但给出空指针异常,因为解析响应假定一切正常(对于示例来说没问题)。

所以,我用'curl'做同样的查询......

curl http://ecs.amazonaws.com/onca/xml?AWSAccessKeyId= &ItemId=0545010225&Operation=ItemLookup&ResponseGroup=Small&Service=AWSECommerceService&Timestamp=2012-08-30T11%3A31%3A54Z&Version=2009-03-31&Signature=

它显示了这个输出:

[1] 17603 [2] 17604 [3] 17605 [4] 17606 [5] 17607 [6] 17608 [7] 17609 [2] 完成 ItemId=0545010225 [3] 完成操作=ItemLookup [4] 完成 ResponseGroup=Small [ 5] 完成服务=AWSECommerceService [6] 完成时间戳=2012-08-30T11%3A31%3A54Z [7] 完成版本=2009-03-31

并且 XML 返回描述了错误:

AWS.MissingServiceParameter您的请求缺少 Service 参数。请添加服务参数

但是,正如您从 curl 命令输入和日志记录中看到的那样,服务参数存在并设置为:API 指定的 AWSECommerceService

我意识到我可能做错了什么,但它似乎不是服务参数,并且很难找到该错误响应的另一个问题的根源。

有任何想法吗?

4

2 回答 2

1

有趣的是,如果我从浏览器发出相同的请求,我会得到不同的响应:(缩写)

您的请求缺少必需的参数。必需的参数包括 AssociateTag。

因此,您需要修改 Java REST 示例代码以在请求中包含必需的“AssociateTag”参数。我这样做是为了修改 SignedRequestHelper 类。

然后它起作用了,你得到了预期的响应。

于 2012-08-30T12:11:51.733 回答
0

我发现问题是 associateTag 是必需的。我添加了 associateTag 并且示例代码有效。

于 2013-02-25T17:38:54.843 回答