我正在按照每个步骤创建一个签名,用于我对亚马逊的网址请求(或者至少是我的想法),但它不起作用。
我正试着在亚马逊的网页上签名(http://docs.aws.amazon.com/AWSECommerceService/latest/DG/rest-signature.html
我已经下载了s3-sigtester,这是一个创建签名的javascript文件。我签署的字符串是:
GET \necs.amazonaws.co.uk \n/onca/xml \nAWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA&Actor=Johnny%20Depp&AssociateTag=memagio-21&Operation=ItemSearch&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews%2CVariations&SearchIndex=DVD&Service=AWSECommerceService&Sort=salesrank&Timestamp=2014-10-19T21%3A21%3A55Z&Version=2009-01-01
上面的字符串是sigtester的结果。我用十六进制喂它。我得到一个签名,然后,我试图访问以下网址,以获取xml值:
http://ecs.amazonaws.co.uk/onca/xml?AWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA
&Actor=Johnny%20Depp&AssociateTag=memagio-21&Operation=ItemSe
arch&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews%2CV
ariations&SearchIndex=DVD&Service=AWSECommerceService&Signature=vZK%2BhDqtcV1CoTf6%2FN1ohR3Da5M%3D&Sort=salesrank&Ti
mestamp=2014-10-19T21%3A21%3A55Z&Version=2009-01-01
AWASCcessKeyId和签名密钥是我创建的AWS密钥。但是,我收到签名不匹配的错误。我认为我正在遵循所有步骤,我真的不知道发生了什么。谢谢。
答案 0 :(得分:0)
我签署的字符串是:
GET \necs.amazonaws.co.uk \n/onca/xml \nAWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA&Actor=Johnn
我假设\n
表示换行符(Unicode 000A
)。问题是在换行符之前不应该有空格 - 它必须是GET\necs.amazonaws.co.uk\n...