gpt4 book ai didi

ios - 亚马逊 MWS 产品 API 返回 401 错误 "Access denied"

转载 作者:可可西里 更新时间:2023-11-01 16:48:31 26 4
gpt4 key购买 nike

我绝望地坚持尝试调用 Amazon MWS Products API。特别是我正在尝试请求 this function

它需要构建一个带有签名的非常复杂的请求:

POST /Products/2011-10-01 HTTP/1.1
Content-Type: x-www-form-urlencoded
Host: mws.amazonservices.com
User-Agent: <Your User Agent Header>

AWSAccessKeyId=AKIAEXAMPLEFWR4TJ7ZQ
&Action=ListMatchingProducts
&MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE
&MarketplaceId=ATVPDKIKX0DER
&Query=0439708184
&SellerId=A1IMEXAMPLEWRC
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2012-12-12T22%3A23%3A50Z
&Version=2011-10-01
&Signature=V%2BEXAMPLERT%2Baj%2Fxwqo7y3PIifMFHeqFlNYW0EXAMPLEA%3D

我在 little library 的帮助下构建了这个查询:

所以我的最终 url 字符串如下所示:

https://mws.amazonservices.com/Products/2011-10-01?AWSAccessKeyId=<MY_ACCESS_KEY>&Action=ListMatchingProducts&MarketplaceId=A1PA6795UKMFR9&Query=0439708184&SellerId=<SELLER_ID>&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-04-19T16%3A50%3A13Z&Version=2011-10-01&Signature=mZt3OhM14gwLdsQ%2Bhxz5UFMzr7m2U36DvZ7RG3dcsTI%3D

并且看起来 url 字符串构建正确。我认为是这样,因为如果参数丢失或不正确,API 会返回 400 错误,并说明该参数无效。这同样适用于签名。如果签名不正确,API 将返回错误,明确指出签名无效。所以,我再次认为 url 一定没问题。然而,API 返回 401 错误和一个如下所示的 html 页面:

<?xml version="1.0"?>
<ErrorResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
<Error>
<Type>Sender</Type>
<Code>AccessDenied</Code>
<Message>Access denied</Message>
</Error>
<RequestID>7b12e3c8-7b1a-4b6e-b7ba-15ec8c4e0968</RequestID>
</ErrorResponse>

访问被拒绝。我不知道为什么。我已经花了几个小时试图找出问题所在。谁能帮帮我?

最佳答案

问题的原因是我调用了美国 url https://mws.amazonservices.com 而不是欧洲 url https://mws-eu.amazonservices.com。如果亚马逊响应提供更多关于错误的上下文而不是简单的 Access denied

那就太好了

关于ios - 亚马逊 MWS 产品 API 返回 401 错误 "Access denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36725048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com