Spotify 请求令牌返回 invalid_client
Posted
技术标签:
【中文标题】Spotify 请求令牌返回 invalid_client【英文标题】:Spotify request token returns invalid_client 【发布时间】:2018-02-18 18:24:30 【问题描述】:我希望有人可以在这里帮助我:
我有一个应该使用 Spotify API 的应用程序。但是在请求授权本身之后,我一直在请求令牌。相关代码如下:
function post($content, $url,$clientId,$clientSecret)
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array(
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic '.base64_encode($clientId).':'.base64_encode($clientSecret)));
return curl_exec($ch);
$clientId="4df42e27a76d41f9961b0952102fexxx";
$clientSecret="3088a8b6132b40dc980540880cf5bxxx";
$content=array(
'grant_type' => 'authorization_code',
'code' => $_GET["code"],
'redirect_uri' => 'http%3A%2F%2Fhome.xxx.de%2Ftoken.php',
);
echo post($content,"https://accounts.spotify.com/api/token",$clientId,$clientSecret);
不幸的是,结果是 "error":"invalid_client" 我不知道为什么...
【问题讨论】:
我真的希望你的秘密与你在这里发布的有很大的不同(不仅仅是被替换的 3 x ......,只有大约 1M 的可能性可以检查)。你也试过base64_encode($clientId.':'.$clientSecret)
吗?
【参考方案1】:
授权
必填。
包含客户端 ID 和客户端密钥的 Base 64 编码字符串。该字段必须具有以下格式:
Authorization: Basic <base64 encoded client_id:client_secret>
我将其读作base64_encode($clientId.':'.$clientSecret)
【讨论】:
以上是关于Spotify 请求令牌返回 invalid_client的主要内容,如果未能解决你的问题,请参考以下文章
Spotify API 授权代码流向我返回 400 错误请求
Axios GET 请求 Spotify API 返回 401
(Spotify iOS SDK) renewSession 总是返回 nil session