You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Amazon SP-API getOrders接口访问被拒绝的Unauthorized报错

SP-API调用getOrders接口返回Unauthorized报错排查方案

前置结论:初始调用/orders/v0/orders的getOrders接口不需要RDT(Restricted Data Token)。RDT仅在调用返回买家PII、订单商品明细等受限操作时需要,且确实需要先通过getOrders拿到orderId后才能申请,你之前的判断完全正确,无需在RDT方向浪费排查时间。

你收到的报错响应如下:

{
    "errors": [
        {
            "message": "Access to requested resource is denied.",
            "code": "Unauthorized",
            "details": ""
        }
    ]
}

以下是按踩坑概率从高到低排序的排查路径,覆盖所有公开文档未明确提及的隐性配置要求:

高概率根因排查项

1. 应用状态不满足生产调用要求

你当前使用Draft(草稿)状态的应用是导致该报错的最常见原因:

  • 所有Draft状态的SP-API应用,默认仅拥有沙箱环境调用权限,无论IAM、签名、Token配置多么正确,都无法调用生产环境接口
  • 哪怕是仅给自己账号使用的自授权私有应用,也需要完成自授权应用发布流程,将应用状态从Draft切换为Published(已发布)后,才具备生产接口调用资格
  • 自授权私有应用发布不需要经过亚马逊人工审核,只需要在开发者控制台补全应用必填信息、确认自授权使用用途,提交后状态会即时切换为Published,无等待周期

2. AWS SigV4签名配置隐性错误

即使你参照文档完成了签名流程,Postman配置中的几个高频错点会直接导致签名校验失败:

  • 签名配置中的Region字段必须和调用的SP-API端点区域完全匹配:北美站端点对应us-east-1,欧洲站端点对应eu-west-1,远东/新加坡站端点对应us-west-2,区域填错会直接返回未授权
  • 签名配置中的Service Name字段必须固定填execute-api,不要错填为sellerpartnerapi、sp-api等想当然的取值
  • Postman默认的SigV4签名规则会排除自定义请求头,需要手动将存放LWA token的x-amz-access-token头加入签名头列表,否则签名会被判定为无效
  • 确认请求使用的是生产环境端点,不要误用沙箱端点调用生产接口

3. LWA Token权限或有效性问题

你可以成功拿到LWA Token不代表Token具备对应接口权限:

  • 申请LWA Token时,scope参数必须包含订单读权限,若申请时未传对应scope,即使Token正常返回,调用订单接口时也会被权限拦截
  • Draft状态下生成的测试Token、非对应应用生成的Token,都不具备生产接口调用权限
  • 应用转为Published状态完成自授权后,需要重新生成对应站点的Refresh Token,再用新的Refresh Token换取LWA Token,旧的Draft阶段生成的Token会直接失效

4. IAM角色配置遗漏项

你已校验IAM策略的情况下,仍需确认两个容易遗漏的配置:

  • IAM角色的信任策略必须允许sellingpartnerapi.amazonaws.com服务代入该角色,不能仅配置允许自身IAM用户代入
  • 信任策略、权限策略中不要添加多余的限制条件,比如错误的源IP限制、不匹配的外部ID校验,都会导致SP-API服务无法完成角色代入鉴权

5. 自授权关系与请求参数校验

  • 应用转为Published后,需要在控制台的应用授权页面手动完成自有卖家账号的自授权操作,应用不会默认获得自有账号的接口权限
  • 发起getOrders请求时,MarketplaceIds参数必须传入你卖家账号实际开通的站点ID,跨未开通站点传参也会返回未授权错误

快速验证流程

  1. 补全应用信息,将应用从Draft状态转为Published状态
  2. 完成账号自授权,获取对应站点的正式Refresh Token
  3. 使用正式Refresh Token申请新的LWA Access Token,确认申请时包含订单读权限scope
  4. 重新配置Postman SigV4签名参数,重点核对Region、Service Name取值,确认x-amz-access-token被纳入签名范围
  5. 传入自身账号已开通站点的MarketplaceId发起请求,即可正常返回订单数据

内容的提问来源于stack exchange,提问作者kmcconnell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:33:19