Невозможно обменять код авторизации на токен доступа на eBay

Я следую документации по API eBay и выполнил предыдущие шаги, включив OAuth в приложении eBay для разработчика. У меня есть авторизация, но я не могу обменять ее на токен доступа. Он продолжает показывать мне следующую ошибку:

{
    "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 TXVoYW1tYWQtT1RJRlRFU1QtU0JYLWNhYzMyODgwMi02ODMwYjc1YzpTQlgtYWMzMjg4MDI1Yjk1LTdjOGQtNDgyMC1iMjQ1LTlmNWQ=',
    '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

Я не знаю, что я здесь делаю не так. Я не могу найти официальную коллекцию почтальонов для API ebay.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
120
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Ваш запрос на завивку в порядке. Кажется, ваш <client_id> неверен. Когда я расшифровал ваши учетные данные OAuth в кодировке Base64, я получил следующее:

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

Вы можете проверить это здесь.

Я заменил «вкладку» на «M» и повторил попытку, но получил новую ошибку:

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

Это можно считать хорошим прогрессом! Надеюсь, это поможет вам решить проблему.

Идентификатор клиента в порядке. Когда я удаляю символ, предположим, первую букву закодированной строки, это выдает ошибку недопустимого клиента. Итак, клиент действителен.

Tayyab 09.05.2024 09:46

Если бы это было не так ранее, было бы показано то же сообщение о недопустимом предоставлении.

Tayyab 09.05.2024 10:55

Вы пытались декодировать этот токен OAuth? Очевидно, что сначала вместо символа m стоит символ табуляции. base64decode.net/decode/8vCx

alisol 10.05.2024 10:20

Спасибо. Это была проблема с пространством в закодированной версии. Это решено. Это тоже было со стороны eBay.

Другие вопросы по теме