我正在构建一个应用程序,该应用程序利用eBay的Buy API来检索有关当前列出的产品的信息。我的问题是,我获得的访问令牌每2小时过期一次,我需要刷新令牌来自动生成新的访问令牌。我正在尝试获得刷新令牌,但遇到以下API端点的问题:
端点:https://api.ebay.com/identity/v1/oauth2/token
我需要传递以下五个参数:
HTTP标头:
Content-Type = application/x-www-form-urlencoded
Authorization = Basic <B64-encoded-oauth-credentials>
Request body (wrapped for readability):
个字符
我正在使用Postman进行这个API调用,我已经仔细检查并确认所有参数都设置正确。但是,我一直收到以下错误:
{
"error": "invalid_request",
"error_description": "request is missing a required parameter or malformed."
}
型
我已经花了两个多小时试图解决此问题,但没有成功。有人可以提供指导,如何正确地构建此请求或确定可能导致此错误的任何潜在问题吗?
ps:我可以通过grant_type=client_credentials
获取访问令牌
1条答案
按热度按时间ymzxtsji1#
需要检查的几件事:您是否在eBay developer token settings page上选中了“OAuth Enabled”复选框?https://developer.ebay.com/my/auth/?env=production&index=0&auth_type=oauth
你是否在Authorization头上的“Basic”和编码凭据之间包含空格?还要确保在client_id和client_secret之间放置冒号“:”。我建议使用Postman内置的Basic auth处理。
确保“body”选项设置为“x-www-form-urlencoded”。这将为您添加“Content-Type”头。最后,确保您的授权代码没有过期。它的有效期只有大约5分钟。我在Postman中使用了它,一些截图附在帮助中:x1c 0d1x