我试图连接到Spotify API。
我得到授权代码:
<?php
$redirect_uri = 'http%3A%2F%2Flocalhost%3A8000';
?>
<a href="https://accounts.spotify.com/authorize?client_id=<?php echo $client_id;?>&response_type=code&redirect_uri=<?php echo $redirect_uri; ?>&scope=user-read-private%20user-read-email&state=34fFs29kd09">Get code</a><br/><br/>
到目前为止还不错,我得到了代码。然后我试着用:
$redirect_uri = 'http%3A%2F%2Flocalhost%3A8000';
$url = 'https://accounts.spotify.com/api/token';
$fields = [
'grant_type' => 'authorization_code',
'code' => $code,
'redirect_uri' => $redirect_uri,
'client_id' => $client_id,
'secret' => $secret
];
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
$result = curl_exec($ch);
我有我能想象到的所有变化http://localhost:8000Spotify仪表板中的白名单:
但是我得到了这个错误:
result: {"error":"invalid_grant","error_description":"Invalid redirect URI"}
编辑:奇怪的是,我可以成功地链接到隐式授予客户端方法,使用重定向URIhttp://localhost:8000——所以我知道这是正确的白名单。我在上面发布的代码中使用了这个URI,并得到了同样的错误。我还使用了我能想到的所有其他组合,无论是使用://,://, 尾随斜杠,尾随:等等。每次都有同样的错误!
有什么想法吗?
编辑2:如果我使用$redirect_uri='http://localhost:8000';我得到一个不同的错误:
result: {"error":"invalid_request","error_description":""}
现在您已经停止对重定向uri进行编码,它正在抱怨无效的参数。
根据文档,客户端id和机密不应与其他参数一起发送,它们需要通过授权标头添加到标头中:
https://developer.spotify.com/documentation/general/guides/authorization-guide/#2-have-your-application-request-refresh-and-access-tokens-spotify-returns-access-and-refresh-tokens
HEADER PARAMETER Authorization Base 64 encoded string that contains the client ID and client secret key. The field must have the format: Authorization: Basic <base64 encoded client_id:client_secret>
我在本地机器上访问Spotify API没有任何问题。我将我的本地地址作为重定向uri参数提供给spotify auth请求(http://localhost:8080)我还将Spotify开发者控制台中的这个URI添加到了白名单中。 但当我将我的应用部署到AWS时,我有一个如下url:http://myapp-env.eu-west-2.elasticbeanstalk.com/ 所以我也在Sp
我正在尝试让Spotify API与AngularJS一起工作。我在授权阶段收到一个无效的重定向URI错误(https://developer.spotify.com/web-api/authorization-guide/). 我在白名单中添加了redirect_uri,当我有一个uri,比如 但当我有一个带有散列的URI时,它就不起作用了 我想使用后者URI的原因是因为前者我得到了一个URI,
我对网络开发相当陌生,我一直试图使用Spotify应用编程接口用Python制作一个网络应用程序。 我试图尝试获得对用户帐户的授权,并尝试将其输入我的浏览器(用我的客户端ID替换CLIENTID):https://accounts.spotify.com/authorize?client_id=CLIENTID 然而,我得到了错误: 我有白名单http://example.com/callback
我尝试使用spotify Web API通过我的应用程序对用户进行身份验证,但收到以下错误: 网址: 我看不出问题出在哪里。。。你能帮忙吗?
我试图使用网络应用编程接口从Spotify获得令牌: 我的原始请求: 在这里,[authkey]被所需的字符串替换(这被破坏了,给了我一个不同的错误,但现在我修复了它),[code]被Spotify早一步返回的代码替换。 我得到以下回应: 我一定做错了什么,但我想不通。有人能帮我吗?
在我登录Spotify并将其与我的应用程序连接后,出现了一个错误: 无效的_客户端:无效的重定向URI。 我已经向Spotify注册了我的重定向URI,并确保它与我的代码中使用的相同。我已经根据重定向URI和特定标识符创建了一个带有该方案的URL类型,但仍然会出现错误。有什么想法吗?