我尝试允许用户使用他们的spotify帐户登录我的网站但是接收
收到JSON响应时{"错误":" server_error"," error_description":"意外状态:415"}
。
这是我使用的代码:
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;
我在spotify文档中的第4位... https://developer.spotify.com/web-api/authorization-guide/
由于
答案 0 :(得分:0)
错误很可能是因为表单数据被发布为multipart/form-data
(因为您将数组传递给CURLOPT_POSTFIELDS
)。
相反,请尝试:
curl_setopt($sch2,CURLOPT_POSTFIELDS, http_build_query($sdata2));
这样,它将数据POST为application/x-www-form-urlencoded
。