Я пытаюсь разрешить пользователям входить на мой сайт с использованием учетной записи Spotify, но я получаю
{«error»: «server_error», «error_description»: «Неожиданный статус: 415»}
при получении ответа JSON.
Это код, который я использую:
if (isset($_GET['code']) ) {
echo $_GET['code'];
$scode = $_GET['code'];
$surl2 = "https://accounts.spotify.com/api/token";
$sdata2=array("grant_type"=>"authorization_code","code"=>$scode,"redirect_uri"=>$sredicturl,"client_id"=>$Sclient,"client_secret"=>$Ssecret);
$sch2=curl_init($surl2);
curl_setopt($sch2,CURLOPT_POST,true);
curl_setopt($sch2,CURLOPT_POSTFIELDS,$sdata2);
curl_setopt($sch2,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($sch2,CURLOPT_RETURNTRANSFER,1);
$sjson_response2=curl_exec($sch2);
curl_close($sch2);
echo"<br/>".$sjson_response2;
Я под номером 4 в документации по spotify … https://developer.spotify.com/web-api/authorization-guide/
Спасибо
Скорее всего, ошибка связана с тем, что данные формы публикуются как multipart/form-data
(потому что вы передаете массив CURLOPT_POSTFIELDS
).
Вместо этого попробуйте:
curl_setopt($sch2,CURLOPT_POSTFIELDS, http_build_query($sdata2));
Таким образом, он помещает данные как application/x-www-form-urlencoded
,
Других решений пока нет …