public function authorizationToken(){
$link = "https://api.ebay.com/identity/v1/oauth2/token";
$codeAuth = base64_encode($this->clientID.':'.$this->certID);
$ch = curl_init($link);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded','Authorization: Basic '.$codeAuth));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=authorization_code&code=".urlencode($this->authCode)."&redirect_uri=".$this->ruName."&scope=".urlencode('https://api.ebay.com/oauth/api_scope'));
$response = curl_exec($ch);
$json = json_decode($response, true);$info = curl_getinfo($ch);
curl_close($ch);print_r($json);}
2
Answers
Try this code
It looks like you are getting
refresh_token
confused withauthorization_token
, because you are mixing incompatible parameters between the two different requests.If you are trying to get the initial “AccessToken” (AKA UserAccessToken, access_token, AuthToken, …), then you should not include the
scope
parameter in your request body. So your request body should look like this:Where
<authorization_code>
is the value that is returned from here.For an overview of the difference, I’d recommend this answer over the official docs on the topic.