GetMyFeesEstimate API亚马逊vba

问题描述 投票:0回答:1

从亚马逊获得合理的答案我遇到了问题。问题只出在GetMyFeesEstimate上。像GetMyPriceForASIN这样的其他东西也适用。我正在尝试使用VBA / Excel获得响应。

亚马逊的示例代码:

https://mws.amazonservices.de/Products/2011-10-01?
FeesEstimateRequestList.FeesEstimateRequest.1.MarketplaceId=A1PA6795UKMFR9
&FeesEstimateRequestList.FeesEstimateRequest.1.IdType=ASIN
&FeesEstimateRequestList.FeesEstimateRequest.1.IdValue=3828934897
&FeesEstimateRequestList.FeesEstimateRequest.1.IsAmazonFulfilled=true
&FeesEstimateRequestList.FeesEstimateRequest.1.Identifier=request1
&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.CurrencyCode=EUR
&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.Amount=30.00
&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.CurrencyCode=EUR
&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.Amount=3.99
&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Points.PointsNumber=0
&AWSAccessKeyId=XXXXXXXXXXXXX
&Action=GetMyFeesEstimate
&SellerId=XXXXXXXXXXXXXX
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2018-01-07T10%3A26%3A27Z&Version=2011-10-01&Signature=bJJJorhyeKwejuddJs6Z%2BVYZZmKtm0CG2GAXTrShyZM%3D

如果我尝试将此签名请求与我的数据一起使用,则会出现以下错误:

我们计算的请求签名与您提供的签名不匹配。检查您的AWS Secret Access Key和签名方法。有关详细信息,请参阅服务文档

有人可以帮我弄这个吗?

Here是亚马逊的文档。

excel vba api amazon
1个回答
0
投票

您尚未显示有关如何签署请求的代码。

既然您已经成功使用了一个API,那么在签名字符串和POST请求时,您是否可以检查您使用的十进制值是否完全相同?有时excel将30.0之类的值存储为0.3E02或类似的东西,这会导致签名字符串与您的发布请求不同。

我使用Amazon Scratchpad创建了一个POST,并获得了签名字符串的指导。请转到https://mws.amazonservices.com/scratchpad/index.html在左侧输入详细信息并单击提交后,您可以看到请求详细信息和签名字符串。如果您完全按照指定的那样创建请求并在那里完全按照指定签名,那么您就不应该有唱歌问题。

以下是您的请求示例:

POST / Products / 2011-10-01?AWSAccessKeyId =

与行动= GetMyFeesEstimate

&SellerId = XXXXXXXXXXXXXX

&SignatureVersion = 2

&时间戳= 2018-06-12T04%3A19%3A55Z

&版本= 2011-10-01

&Signature = VZhLVLVN7FMOD8spST8d51BOOKTBYY9FADZHLOKzhNK%ZD

&是SignatureMethod = HmacSHA256

&FeesEstimateRequestList.FeesEstimateRequest.1.MarketplaceId = A1PA6795UKMFR9

&FeesEstimateRequestList.FeesEstimateRequest.1.IdType = ASIN

&FeesEstimateRequestList.FeesEstimateRequest.1.IdValue = 3828934897

&FeesEstimateRequestList.FeesEstimateRequest.1.IsAmazonFulfilled =真

&FeesEstimateRequestList.FeesEstimateRequest.1.Identifier = request1

&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.Amount = 30.00

&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.CurrencyCode = EUR

&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.Amount = 3.99

&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.CurrencyCode = EUR

&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Points.PointsNumber = 0 HTTP / 1.1

主持人:mws.amazonservices.com

x-amazon-user-agent:AmazonJavascriptScratchpad / 1.0(语言= Javascript)

内容类型:text / xml

这是要签名的字符串。请注意,您必须将CHR(10)换成新行。不要将VBCRLF放入字符串中。

POST mws.amazonservices.com / Products / 2011-10-01 AWSAccessKeyId =&Action = GetMyFeesEstimate&FeesEstimateRequestList.FeesEstimateRequest.1.IdType = ASIN&FeesEstimateRequestList.FeesEstimateRequest.1.IdValue = 3828934897&FeesEstimateRequestList.FeesEstimateRequest.1.Identifier = request1&FeesEstimateRequestList.FeesEstimateRequest.1.IsAmazonFulfilled =真FeesEstimateRequestList.FeesEstimateRequest.1.MarketplaceId = A1PA6795UKMFR9&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.Amount = 30.00&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.ListingPrice.CurrencyCode = EUR&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Points.PointsNumber = 0&FeesEstimateRequestList.FeesEstimateRequest.1 .PriceToEstimateFees.Shipping.Amount = 3.99&FeesEstimateRequestList.FeesEstimateRequest.1.PriceToEstimateFees.Shipping.CurrencyCode = EUR&SellerId = XXXXXXXXXXXXXX&是SignatureMethod = HmacSHA256&SignatureVersion = 2&时间戳= 2018-06-12T04%3A19%3A55Z&版本= 2011-10-0 1

© www.soinside.com 2019 - 2024. All rights reserved.