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

Amazon SP-API调用Get Orders获取买家信息时RDT调用报错如何解决

亚马逊SP-API调用create_restricted_data_token报错排查方案

报错根因

你遇到的InvalidInput报错Empty target resource argument found,是因为python-amazon-sp-api库的create_restricted_data_token方法入参格式不符合要求,你直接传递了path参数,但是接口要求必须传入结构化的restricted_resources参数来声明需要访问的受限资源。

修复步骤

  • 先确认你安装的python-amazon-sp-api版本不低于0.18.0,避免旧版本的参数兼容问题
  • 调整RDT申请代码的参数结构,单路径申请的示例代码如下:
from sp_api.api import Tokens
from sp_api.base import Marketplaces

tokens_client = Tokens(credentials=credentials, marketplace=Marketplaces.DE)
res = tokens_client.create_restricted_data_token(
    restricted_resources=[
        {
            "method": "GET",
            "path": "/orders/v0/orders/xxx/address"
        }
    ]
)
# 提取返回的RDT
rdt = res.payload.get('restrictedDataToken')
print(rdt)
  • 如果你需要调用get_orders接口批量获取订单的买家信息,申请RDT时需要额外指定dataElements参数,示例如下:
res = tokens_client.create_restricted_data_token(
    restricted_resources=[
        {
            "method": "GET",
            "path": "/orders/v0/orders",
            "dataElements": ["buyerInfo", "shippingAddress"]
        }
    ]
)

其他注意事项

  • 申请RDT时填写的资源路径、请求方法必须和你后续实际调用的接口完全一致,否则会提示权限错误
  • 路径中涉及的订单ID必须是当前开发者身份有权限访问的站点订单,无权限的订单会导致RDT申请失败或者后续接口调用返回403

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:54:02