使用 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 API Web:没有 Node.js 的 OAuth