我使用“报告”请求获取报告,
但是当我运行代码时,它给我以下错误:
“我们计算出的请求签名与您提供的签名不匹配。请检查您的AWS Secret Access密钥和签名方法。”
我已经在便签本中尝试了该请求,并且该请求正常运行,因此没有任何键的问题。下面是我的代码:
agent
.post(`https://mws.amazonservices.com/`)
.query({
AWSAccessKeyId:accesskeyid,
Action:'GetReport',
Merchant:sellerid,
MWSAuthToken:token,
SignatureVersion:2,
Timestamp:'2019-05-21T07:34:45Z',
Version:'2009-01-01',
Signature:'1WN378L846Cts2oJGnJCPoT1nGjYoFcnlLXlZNxABg0=',
SignatureMethod:'HmacSHA256',
ReportId:'14941942615018036'
})
.then(res=>(this.setState({category:res.text},()=>{
console.log('category==>',this.state.category)
})))
我研究了很多,但没有弄清实际问题。有人建议如何解决
答案 0 :(得分:0)
看看signing a query request的文档。如果可以,请使用也会自动为您签名请求的客户端库之一。
Scratchpad之所以能够工作,是因为它正在为您计算签名,但是您不能复制该签名并在其他地方使用它。