我使用spotify-web-api-js
节点模块和带有异步,浏览器和JavaScript的Spotify API有一个工作的Node.js应用程序,以便将特定的歌曲保存到用户的播放列表中。不幸的是,我尝试进行一些更改以便部署到heroku并且似乎搞砸了它。我尝试回滚我的git提交,甚至恢复到我的Dropbox帐户上的代码的上一个工作版本,但它似乎没有相同的工作。
此时,我有一系列歌曲URI需要进入一个数组并根据节点模块发送到Spotify API,但它似乎无法获得所需的访问令牌这一点。
以下是一些相关代码:
function getHashParams() {
var hashParams = {};
var e, r = /([^&;=]+)=?([^&;]*)/g,
q = window.location.hash.substring(1);
while ( e = r.exec(q)) {
hashParams[e[1]] = decodeURIComponent(e[2]);
}
return hashParams;
}
var params = getHashParams();
然后是一堆实际执行搜索并将相关轨道放入数组的代码,仍然像往常一样工作。在此之后,这部分涉及用户点击按钮并登录其Spotify帐户:
if (params.access_token) {
s.setAccessToken(params.access_token);
s.getMe().then(function(data) {
console.log(data);
console.log(data.id);
user_id = data.id;
s.createPlaylist(user_id, {name: 'Related Artist Playlist'}).then(function(data3) {
console.log(data3);
playlist_id = data3.uri;
playlist_id = playlist_id.substring(33);
console.log(playlist_id);
console.log(user_id);
console.log(song_uris);
s.addTracksToPlaylist(user_id, playlist_id, song_uris).then(function(data){
console.log(data);
});
我在console.log
上做了params.access_token
,它显示为undefined
,这解释了为什么if语句下面的代码没有运行。查看我的服务器终端时,我看到帐户登录工作正常,但信息不再记录到控制台,并且没有将任何内容保存到Spotify帐户。
这里有什么我想念的,为什么它不再起作用了?他们的服务器似乎没有任何问题。我有somewhat similar issue previously获取访问令牌,但这似乎有所不同,因为我按照建议更改了服务器并修改了我的页面上的链接,并且我没有收到任何这些CORS错误。