eBay Analytics API认证失败 Invalid access token Auth'n'Auth使用咨询
我的eBay Sell Analytics接口调用遇到无效访问令牌报错
我已登录eBay并生成Auth'n'Auth访问令牌:
随后我在如下请求中使用该令牌:
$headers = array ( 'Authorization: Bearer ' . $auth_token ); $url = "https://api.ebay.com/sell/analytics/v1/traffic_report?dimension=DAY&filter=marketplace_ids:{EBAY_GB},date_range:[20160814..20160824]&metric=LISTING_IMPRESSION_SEARCH_RESULTS_PAGE,LISTING_IMPRESSION_STORE"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch);
但我收到了如下响应:
stdClass Object ( [errors] => Array ( [0] => stdClass Object ( [errorId] => 1001 [domain] => OAuth [category] => REQUEST [message] => Invalid access token [longMessage] => Invalid access token. Check the value of the Authorization HTTP request header. ) ) )
请问我是否遗漏了相关配置环节?
问题排查与解决方案
核心问题是你用的令牌从适用场景上就不匹配,逐项核对即可解决:
- 第一类硬伤:Auth'n'Auth是eBay早年为老版XML交易接口设计的认证方式,根本不兼容现在Sell系列的RESTful API。你当前调用的销售分析接口,只认OAuth 2.0流程生成的用户访问令牌,拿老的Auth'n'Auth令牌当Bearer凭证传递,必然会被直接判定为无效。
- 就算你换对了令牌类型,还要确认生成时的权限范围是否匹配:调用流量报告接口必须要在生成令牌时勾选
sell.analytics.readonly的权限域,没加这个权限的令牌,哪怕是OAuth体系生成的,也没有权限调用这个接口。 - 剩下的细节项可以快速排错:
- 检查令牌有效期:eBay的用户访问令牌默认只有2小时有效期,过了时间就算格式完全正确也会报无效
- 确认生成令牌的应用,已经在开发者后台开通了Sell Analytics的接口使用资格,没开通权限的应用就算生成了格式正确的令牌,接口也会拒访
- 检查请求头的拼接逻辑:不要在
Bearer和令牌值之间多打空格、换行,也别给令牌前后加多余的引号
注意不要混淆应用级令牌和用户级令牌:这个接口需要的是经过你账号授权的用户级令牌,光用应用ID和密钥生成的应用级令牌,没有权限读取你的店铺销售数据。
内容的提问来源于stack exchange,提问作者Lee
相关产品推荐
相关产品推荐

