Я пытаюсь подключиться к API-интерфейсам eBay через их новый REST API.eBay REST API: invalid_request при обмене кодом авторизации для токена доступа
Я использую очень простой скрипт для проверки потока, и я использую Guzzle.
Руководство, которым я следую, является this.
Но когда пришло время, чтобы обменять код авторизации с маркером доступа я когда-либо получить следующий ответ:
{"error":"invalid_request","error_description":"request is invalid","error_uri":null}
Я действительно не знаю, что, чтобы попытаться сделать эту работу.
Это код, я использую:
<?php
...
if (isset($_GET['code'])) {
$client = new \GuzzleHttp\Client();
$authorization = base64_encode($appId . ':' . $certId);
$code = urlencode($_GET['code']);
$body = 'grant_type=authorization_code&code=' . $code . '&redirect_uri=' . $ruName;
$options = [
\GuzzleHttp\RequestOptions::HEADERS => [
'Content-Type' => 'application/x-www-form-urlencoded',
'Authorization' => 'Basic ' . $authorization,
],
\GuzzleHttp\RequestOptions::BODY => $body,
\GuzzleHttp\RequestOptions::DEBUG => true,
];
try {
$response = $client->post('https://api.sandbox.ebay.com/identity/v1/oauth2/token', $options);
die(dump($response->getBody()->__toString(), $response));
} catch (\Exception $e) {
die(dump($e,$_GET, $authorization, $body, $options));
}
}
// Start the authentication redirecting the user to the eBay's sign-in page
$get_request_token_url = 'https://signin.sandbox.ebay.com/authorize'
. '?client_id=' . $appId
. '&redirect_uri=' . $ruName
. '&response_type=code'
// Scope for User
. '&scope=' . urlencode(
'https://api.ebay.com/oauth/api_scope '.
'https://api.ebay.com/oauth/api_scope/sell.account.readonly '.
'https://api.ebay.com/oauth/api_scope/sell.account '
);
header('Location: ' . $get_request_token_url);
Поскольку документация Неоднозначная, я также попытался установить время включения/временный code
возвращенного eBay непосредственно в строке запроса (с все остальные параметры, которые должны быть в body
). Я попытался также отправить их обоих в body
и добавить их в query_string
, но ничего не работает ...
Я действительно не знаю, что еще попробовать.
Кто-нибудь может помочь?
привет, он хорошо работает, вы можете объяснить, как генерировать токен –
привет Ололо, вы можете присылать коды. я пытаюсь получить токен, сгенерированный CODE, kepp говорит invalid_request –
@manokarthickkarthick, напишите новый вопрос и свяжите его здесь: мы поможем вам ... – Aerendir