我正在尝试使用亚马逊MWS服务(doc)向GetMyFeesEstimate
发送请求:
POST /Products/2011-10-01/?FeesEstimateRequestList.FeesEstimateRequest.1.MarketplaceId=XXXXXXXXXXXXXX&FeesEstimateRequestList.FeesEstimateRequest.1.IdType=EAN&FeesEstimateRequestList.FeesEstimateRequest.1.IdValue=6950029002582&FeesEstimateRequestList.FeesEstimateRequest.1.IsAmazonFulfilled=true&FeesEstimateRequestList.FeesEstimateRequest.1.Identifier=request1&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.CurrencyCode=USD&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.Amount=30.00&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.CurrencyCode=USD&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.Amount=3.99&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Points.PointsNumber=0&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Action=GetMyFeesEstimate&MWSAuthToken=123&SellerId=XXXXXXXXXXXXXX&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-06-23T14:58:28Z&Version=2011-10-01&Signature=cPG3pcI0OT9b0GzkfTVPuBJ+fKo= HTTP/1.1
Host: mws.amazonservices.es
Cache-Control: no-cache
Postman-Token: 953f5ba5-d6c3-481a-5e7d-7bfa6ba2adcd
Content-Type: application/x-www-form-urlencoded
但我收到了这个回复:
<?xml version="1.0"?>
<ErrorResponse xmlns="https://mws.amazonservices.com/">
<Error>
<Type>Sender</Type>
<Code>InvalidParameterValue</Code>
<Message>Invalid query string provided - FeesEstimateRequestList.FeesEstimateRequest.1.MarketplaceId=XXXXXXXXXXXXXX&FeesEstimateRequestList.FeesEstimateRequest.1.IdType=EAN&FeesEstimateRequestList.FeesEstimateRequest.1.IdValue=6950029002582&FeesEstimateRequestList.FeesEstimateRequest.1.IsAmazonFulfilled=true&FeesEstimateRequestList.FeesEstimateRequest.1.Identifier=request1&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.CurrencyCode=USD&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.Amount=30.00&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.CurrencyCode=USD&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.Amount=3.99&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Points.PointsNumber=0&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Action=GetMyFeesEstimate&MWSAuthToken=123&SellerId=XXXXXXXXXXXXXX&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-06-23T14:58:28Z&Version=2011-10-01&Signature=cPG3pcI0OT9a0GzkfTVPuBJ+fKo= is not valid; the value of a query string parameter may not contain a '=' delimiter</Message>
</Error>
<RequestID>506e7ce6-1f5f-4e4f-afc1-e2defa175a4d</RequestID>
</ErrorResponse>
答案 0 :(得分:0)
正如Jad所说,IdType只能是ASIN和SellerSKU,这需要改变。 但是这里的例外是查询字符串无效,您可以在错误消息中看到。不应该有&#39; =&#39;在查询字符串中。我在你的签名中看到了这可能是问题所在。