Spotify Oauth,获取用户资料
Posted
技术标签:
【中文标题】Spotify Oauth,获取用户资料【英文标题】:Spotify Oauth, Getting users profile 【发布时间】:2016-08-07 22:16:27 【问题描述】:我正在尝试允许用户使用他们的 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;
我在 spotify 文档中排在第 4 位...https://developer.spotify.com/web-api/authorization-guide/
谢谢
【问题讨论】:
【参考方案1】:错误很可能是由于表单数据被发布为multipart/form-data
(因为您将数组传递给CURLOPT_POSTFIELDS
)。
请尝试:
curl_setopt($sch2,CURLOPT_POSTFIELDS, http_build_query($sdata2));
这样它将数据作为application/x-www-form-urlencoded
发布。
【讨论】:
以上是关于Spotify Oauth,获取用户资料的主要内容,如果未能解决你的问题,请参考以下文章
带有 Spotify 的 OAuth 无法使用 curl 获取刷新令牌
在没有 oAuth 密钥的情况下通过 track id spotify 检索歌曲名称