获取eBay刷新令牌遇invalid_request错误,请求排查指导
eBay OAuth Refresh Token 获取错误排查指南
核心定位
你能通过client_credentials模式正常获取token,说明基础身份验证(Base64凭证、Content-Type头)无问题,问题集中在authorization_code模式的参数细节上。
必查排查点
- 授权码有效性校验:
- 确认
code是通过用户授权流程(Authorization Code Flow)生成的,且仅使用过一次——eBay授权码只能用一次,重复调用直接返回invalid_request。 - 检查授权码有效期:eBay授权码仅5分钟有效,超时需重新发起授权流程获取新code。
- 确认
- Redirect URI严格匹配:
redirect_uri必须与eBay开发者后台配置的RuName对应回调地址完全一致,包括协议(HTTP/HTTPS)、大小写、末尾斜杠。比如后台配置https://your-domain.com/callback,请求里不能写http://your-domain.com/callback或https://your-domain.com/callback/。
- 请求体格式与参数拼写:
- 确保请求体是
application/x-www-form-urlencoded格式,参数为键值对形式,不能嵌套JSON。需直接传递grant_type=authorization_code&code=XXX&redirect_uri=XXX。 - 检查参数名拼写:
grant_type、redirect_uri必须全小写,不能出现granttype、redirecturi这类拼写错误。
- 确保请求体是
- Authorization头细节:
- 确认Base64编码的是
client_id:client_secret(英文冒号分隔),编码前无多余空格、换行,且client_id/client_secret未复制错误(比如末尾特殊字符遗漏)。
- 确认Base64编码的是
标准请求示例(Postman)
请求头
Content-Type: application/x-www-form-urlencoded Authorization: Basic <你的Base64编码凭证>
请求体(选择x-www-form-urlencoded类型)
grant_type: authorization_code code: <有效且未使用过的授权码> redirect_uri: <与后台配置完全一致的RuName回调地址>
额外排查方向
- 环境区分:沙箱环境需用沙箱授权流程获取code,调用沙箱token端点
https://api.sandbox.ebay.com/identity/v1/oauth2/token,不可混淆生产/沙箱环境。 - 网络干扰:检查代理、防火墙是否修改了请求参数(比如自动转义特殊符号),可将Postman请求转为cURL命令在终端执行,验证结果是否一致。
内容的提问来源于stack exchange,提问作者Zishan Ali
相关产品推荐
相关产品推荐

