无法在 eBay 中交换授权码来访问令牌

问题描述 投票:0回答:1

我正在关注 eBay API 的文档,并且我已经通过在 eBay 应用程序中为开发人员启用 OAuth 来完成前面的步骤。我已获得授权,但无法将其兑换为访问令牌。它一直向我显示以下错误:

{
    "error": "server_error",
    "error_description": "server encountered an unexpected condition that prevented it from fulfilling the request"
}

我尝试在我的 PHP Laravel 控制器和 Postman 中运行它。遇到同样的错误:

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.sandbox.ebay.com/identity/v1/oauth2/token',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'grant_type=authorization_code&code=v%5E1.1%23i%5E1%23p%5E3%23f%5E0%23I%5E3%23r%5E1%23t%5EUl41XzM6RURBMkI0QkQ3RDZGNzVBNzY3RTRFQjUwODk3REE3QzVfMF8xI0VeMTI4NA%3D%3D&redirect_uri=Muhammad_Tayyab-Muhammad-OTIFTE-epcga',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Basic CXVoYW1tYWQtT1RJRlRFU1QtU0JYLWNhYzMyODgwMi02ODMwYjc1YzpTQlgtYWMzMjg4MDI1Yjk1LTdjOGQtNDgyMC1iMjQ1LTlmNWQ=',
    'Cookie: dp1=bu1p/QEBfX0BAX19AQA**69fc443e^; ebay=%5Esbf%3D%23%5E'
  ),
));

$response = curl_exec($curl);

curl_close($curl);

文档链接:

https://developer.ebay.com/api-docs/static/oauth-auth-code-grant-request.html

我不知道我在这里做错了什么。我找不到 eBay API 的官方邮递员集合。

php oauth-2.0 ebay-api
1个回答
0
投票

您的卷曲请求没问题。看来你的 不正确。当我解码您的 base64 编码的 OAuth 凭据时,我得到了以下信息:

"   uhammad-OTIFTEST-SBX-cac328802-6830b75c:SBX-ac3288025b95-7c8d-4820-b245-9f5d"

我用“M”替换了“tab”,然后重试,我得到了这个新错误:

{
    "error":"invalid_grant",
    "error_description":"the provided authorization grant code is invalid or was issued to another client"
}

也算是一个不错的进步吧!希望它能帮助您解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.