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

在C#中对接Amazon SP-API:如何获取Refresh Token?

解决Amazon SP-API调用中“Unsuccessful LWA token exchange”错误及Refresh Token获取问题

核心问题定位

你遇到的Error getting LWA Access Token和内部异常Unsuccessful LWA token exchange,根源是使用了错误的Refresh Token——Amazon界面里的“SP-API-Token”并非LWA(Login With Amazon)所需的Refresh Token,必须通过正规LWA授权流程获取。

正确获取LWA Refresh Token的步骤

1. 获取LWA授权码(Authorization Code)

构造授权URL,替换以下参数后用卖家账号打开:

  • client_id:你的SP-API应用的Client ID(在开发者控制台应用详情页获取)
  • scope:对应接口权限,比如调用订单接口填sellingpartnerapi::orders
  • redirect_uri:必须和开发者控制台配置的重定向URI完全一致

示例URL结构:

https://sellercentral.amazon.com/apps/authorize/consent?client_id=YOUR_CLIENT_ID&scope=sellingpartnerapi::orders&response_type=code&redirect_uri=YOUR_REDIRECT_URI

授权成功后,跳转的URL中会携带code参数,这就是10分钟内有效的授权码。

2. 用授权码兑换Refresh Token

调用LWA的token接口,请求方式为POST,参数采用x-www-form-urlencoded格式:

  • grant_type:固定为authorization_code
  • client_id:同上
  • client_secret:你的SP-API应用的Client Secret
  • code:刚拿到的授权码
  • redirect_uri:和配置的重定向URI一致

接口返回结果中,refresh_token字段就是你需要的长期有效Token(除非卖家主动撤销授权),将其填入AmazonCredential的RefreshToken字段即可。

关于Postman和mwsAuthToken的疑问

  • 需要mwsAuthToken的请求是MWS迁移至SP-API的兼容流程,仅针对之前使用MWS的老卖家。如果你是全新开发SP-API,完全不需要这个参数,直接走上述LWA授权流程即可。
  • 官方Postman集合可能未默认包含“Get LWA Refresh token”请求,你可以手动构造上述POST请求,无需依赖预设模板。

验证配置

替换正确的Refresh Token后,重新调用订单查询接口,即可解决Token兑换失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:07:26