OAuth с Spotify не может получить токен обновления с помощью curl

Я создаю свой собственный Spotify API для проекта. Я следовал учебному руководству по веб-API и до сих пор не могу получить авторизацию для маркера обновления.

Этот запрос выполняется сразу после успешного получения моей первой авторизации.

Может кто-нибудь заметить проблему с моим кодом?

//Request for refresh token
$url = "https://accounts.spotify.com/api/token";
$fieldString = "";
$fields = array(
"grant_type" => "authorization_code",
"code" => $_GET['code'],
"redirect_uri" => $spotify->getRedirectURI()
//"client_id" => $spotify->getClientID(),
//"client_secret" => $spotify->getClientSecret()
);
$headers = array(
"Accept: application/json",
"Content-Type: application/x-www-form-urlencoded",
"Authorization: Basic ".base64_encode($spotify->getClientID().":".$spotify->getClientSecret())
);

echo http_build_query($fields)."<br/>";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));

$response = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($response));

3

Решение

Причина, по которой я получил плохой ответ, заключается в том, что мне нужно:

 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

После того, как я вставил эту строку, я смог получить свои токены. Надеюсь, это полезно.

1

Другие решения

Правильная опция для установки заголовка CURLOPT_HTTPHEADER и, к сожалению, вы используете CURLOPT_HEADER, Вот почему ваш заголовок авторизации не установлен с помощью запроса curl.

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
0

По вопросам рекламы [email protected]