使用 PHP 的 Oauth Spotify API

Posted

技术标签:

【中文标题】使用 PHP 的 Oauth Spotify API【英文标题】:Oauth Spotify API with PHP 【发布时间】:2017-12-15 12:32:44 【问题描述】:

我一直在使用 Spotify API。我想对播放列表执行一些操作,这些需要用户登录。我想执行以下网址,以便获得授权持有人:

https://accounts.spotify.com/authorize/?client_id=CLIENT_ID&response_type=token&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Fcallback&scope=user-read-private%20playlist-modify-public&state=34fFs29kd09

当我在浏览器 URL 字段中执行此操作时,它可以正常工作并返回一个授权令牌。如果我尝试从 index.php 文件执行此操作,但我遇到了问题。

<?php 
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
$output = curl_exec($curl);
curl_close($curl);
?>

当我运行该文件时,将出现 spotify 登录页面。但是,在我输入登录详细信息并按 Enter 后,什么也没有发生。

浏览器中的控制台报如下错误:

POST http://localhost:8888/api/login 404(未找到) TypeError:无法在字符串'上创建属性'错误'

<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /api/login was not found on this server.</p>
</body></html>

我已将 .htaccess 添加到该文件夹​​,并在我的 mamps 服务器的 httpd.conf 文件中将 Directory AllowOverride 更改为 All。有多个 AllowOverrides,我不能 100% 确定要更改哪一个。

如果现在还不是很明显,我对此感到很困惑,因此我们将不胜感激任何帮助。

【问题讨论】:

【参考方案1】:

您确定本地主机上的页面存在于该端口上吗?该页面是否在您的 spotify 开发帐户中列入白名单?

你也可以试试 jwilsson 的 this 包,这样你就不用在整个 oauth 过程中挣扎了。

【讨论】:

以上是关于使用 PHP 的 Oauth Spotify API的主要内容,如果未能解决你的问题,请参考以下文章

带有 Spotify 的 OAuth 无法使用 curl 获取刷新令牌

如何获得一个无限期使用的访问令牌/刷新令牌(oauth2 - Spotify API)

Spotify Oauth,获取用户资料

Spotify API Web:没有 Node.js 的 OAuth

在没有 oAuth 密钥的情况下通过 track id spotify 检索歌曲名称

如何保护通过 OAuth Spotify 创建的帐户