我们如何解决亚马逊销售合作伙伴API的Getorders操作时“拒绝对所请求的资源的访问”?

问题描述 投票:0回答:1
我在通过postman向/订单/v0/订单发送

getorders时会得到以下操作,此后遵循https://developer-docs.amazon.com/sp--api/docs/docs/connecting-connecting-connecting-connecting-connecting-postman。销售 - 帕特纳-apihttps://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference,1. { "errors": [ { "message": "Access to requested resource is denied.", "code": "Unauthorized", "details": "" } ] } 我们已经在

draft的状态中注册了一个自授权的应用程序客户端,该clate clate是在
https://developer-docs.amazon.com/sp-api/docs/registering-your-application in lat ann iam上附加了一个用户IAM。 .
我已经检查了Arn Iam的内联和角色政策。它们完全如

https://developer-docs.amazon.com/sp-api/docs/creating-and-configuring-iam-policies--policies-and-entities-undities#step-4-create-an-ain-iam-am-lole . 我们能够成功地在文档上成功请求LWA访问令牌:请求-a-login-with-amazon-access-token.

使用AWS签名版本4进程中的Postman中,我们能够在Https://ddeveloper-docs.amazon.com/sp-api/docs/orders上向/订单/v0/orders发送请求/v0/orders -api-v0-reference。但是,我们得到了上面未经授权的响应。

尚不清楚

getorders操作是否需要RDT,因为它在此处列出了https://developer-docs.amazon.com/sp-papi/docs/docs/tokens-pokens-api--pas-api-case-case-guide-guide-guide-guide-guide-grister-----------操作

。但是,然后在

Https://developer-docs.amazon.com/sp-api/docs/tokens-api-us-case-case-guide#step-1-get-get-an-order-id-,4.https:需要一个订单ID才能获取RDT并致电Getorders以获取订单ID列表,然后获取特定订单ID的RDT,然后将RDT与随后的调用(例如

GetOrderItems

ss)一起使用。因此,在我看来,初始getorders应该/不需要RDT。 ,目前尚不清楚需要做些什么才能解决getorders操作的未经授权的响应。 其他人解决了这个问题吗?我们已经在Amazon Developer Support上开设了几种支持案例,只是使案件结束了,并从上面引用的页面复制了模板响应。 您仍然需要此问题的帮助吗? 如果是这样,这里有一些可能的问题: - 申请时,您已经被批准直接用于消费者运输 1。)是的,您确实需要一个getorders的RDT。 2.)RDT应使用以下信息获得: post身体以获取RDT应包括:

“ targetApplication”:您的应用程序ID(来自卖方Central->开发应用程序 - >应该看起来像Amzn1.sp.solution。(更多chars)) 因此,身体应以JSON格式看起来像这样:

{ "targetApplication":"amzn1.sp.solution.askdeqevfjaiv", "restrictedResources":[ { "method":"GET", "path":"/orders/v0/getOrders", "dataElements":[ "shippingAddress" ] } ] }

amazon-selling-partner-api amazonsellercentral
1个回答
5
投票
3。)看来您是一个私人应用程序,打算保留在草案状态。 如果是这样,请确保是这种情况:

3A。)确保您的应用程序已在用户ARN上注册,而不是像文档所建议的那样的角色。

3B。)确保您没有该用户附加的策略或角色。

3C。)向用户添加内联策略。页面进入JSON选项以下

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:*:*:*" } ] }

如果您必须更改ARN,则必须生成一个新的刷新令牌。

如果您拥有成功的RDT令牌,那么以下问题可能是一个问题:

以获取订单的请求需要以下查询字符串参数最小值:

请求为您的应用程序获取需要(Createfter或LastupDatedIfter) 和MarketPlaceIds

它们也必须按字符代码顺序为顺序。在这种情况下,创建后又有MarketPlaceIds Createfter必须采用ISO 8601格式。 可以在此处找到MarketPlaceIds:

Https://developer-docs.amazon.com/sp-api/docs/marketplace-ids

其他可能性是您在错误的地方使用了错误的键,即:

"lwaClientId" => "<LWA client ID>", from seller central "lwaClientSecret" => "<LWA client secret>",from seller central "lwaRefreshToken" => "<LWA refresh token>", from seller central "awsAccessKeyId" => "<AWS access key ID>", the IAM USER "awsSecretAccessKey" => "<AWS secret access key>", from IAM USER
如果这些工作都没有,请告诉我。我已经解决了很多SP-API问题。
    

您阅读了调节的订单文档

?为了进行某些订单API调用,您需要“批准在开发人员资料中直接到消费者交付(限制)角色”和“在应用程序注册页面中选择的直接到消费者交付(受限制)角色'。 确保您拥有这些权限,并遵循指示如何完成这些呼叫。

Helloim遇到相同的问题,您找到了解决方案吗?

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