1

将 Amazon Product Advisement API 与我自己的应用程序集成,它工作正常,但问题是:

要访问我们需要时间戳的 API,当我将代码放在服务器上(在其他国家/地区)并使用服务器时间戳时,API 在 XML 中给出以下错误:“请求已过期。时间戳日期为XXXX-XX-XXXXX:XX:XXZ",

但是当我进入我目前所在的时区时,它就开始正常工作了。为什么 API 在客户端时间戳上运行良好,另一方面,与 API 相关的所有计算都发生在服务器端。

我查阅了 Amazon API 的以下开发人员文档,但没有 avial。 产品广告 API 开发者指南API 版本 2011-08-01

4

2 回答 2

3

var currentdate = new Date(); currentdate.toISOString();

这就是我获得产品广告 API 时间戳的方式。

于 2015-05-15T06:59:49.397 回答
2

我查阅了 Amazon API 的以下开发人员文档,但没有 avial。产品广告 API 开发者指南API 版本 2011-08-01

嗯,这个文档清楚地说明了 Timestamp 参数必须用世界时(UTC)表示;您不能发送本地时间,除非您碰巧与 UTC 时间相同(您的个人位置可能就是这种情况):

"• Timestamp — 必需。没有默认值。您在请求中使用的时间戳必须是 dateTime 对象,包含完整的日期以及小时、分钟和秒(有关详细信息,请访问http://www. w3.org/TR/NOTE-datetime)。这是 ISO 8601 定义的格式的固定长度子集,以世界时 (GMT) 表示:YYYY-MM-DDThh:mm:ssZ(其中 T 和 Z 是文字). 重要如果您使用 .NET,则不能发送过于具体的时间戳,因为对如何丢弃额外的时间精度有不同的解释。为避免过于具体的时间戳,请手动构造精度不超过毫秒的 dateTime 对象。

于 2013-04-29T10:03:41.277 回答