javascript - Spotify api将曲目添加到播放列表
问题描述
我正在使用 ReactJS 并尝试使用Spotify api制作简单的网站。我也在使用 js 包spotify-web-api-js。我已成功播放当前歌曲并能够在浏览器中显示它。
getNowPlaying(){
spotifyApi.getMyCurrentPlaybackState()
.then((response) => {
this.setState({
nowPlaying: {
name: response.item.name,
albumArt: response.item.album.images[0].url
}
});
})
}
//this is from the github link above
Constr.prototype.getMyCurrentPlaybackState = function(options, callback) {
var requestData = {
url: _baseUri + '/me/player'
};
return _checkParamsAndPerformRequest(requestData, options, callback);
};
但我面临的问题是将曲目添加到我的播放列表中。我曾尝试使用spotify-web-api-jsreplaceTracksInPlaylist
中的功能,但我无法让它工作,我总是收到 403 Forbidden 错误。
addToPlayList(){
spotifyApi.addTracksToPlaylist(listID, listOfSongID, callback);
}
//this is from the github link above
Constr.prototype.replaceTracksInPlaylist = function(playlistId, uris, callback) {
var requestData = {
url: _baseUri + '/playlists/' + playlistId + '/tracks',
type: 'PUT',
postData: { uris: uris }
};
return _checkParamsAndPerformRequest(requestData, {}, callback);
};
第一个示例还需要身份验证作为访问令牌,但为什么添加到播放列表时它不起作用?
我还将范围更改为 api 文档说我应该使用的正确范围,playlist-modify-public
并且playlist-modify-private
var scope = 'playlist-modify-public playlist-modify-private user-read-private user-read-email user-read-playback-state';
我可以从api 文档站点测试 api 调用,并在那里插入我的 oauth 令牌、曲目和播放列表 ID,效果很好,我也可以从调用中得到它。我想不出还有什么可以尝试的,需要一些帮助来确定下一步。
解决方案
推荐阅读
- javascript - 如何通过ajax处理更改数据库中的布尔字段?
- database - PostgreSQL - MVCC(多版本并发控制) - 何时获取实际锁?
- node.js - 使用 multer 将文件上传到 S3 存储桶期间的 CRC32 检查
- testing - 当所有测试都完成运行时,我如何调用一个函数?
- apache-spark - GeoMesa Spark 无法使用 UDF 函数
- r - 具有相同颜色(特征)的 R igraph 集群节点
- python-3.x - 如何创建上下文菜单以删除 qtableview python 内部的行
- php - 导航到 Wordpress 中的新页面时无法清除 WooComerce 购物车
- flutter - 如何在颤动中更改验证器文本的颜色?
- python - F 在字符串之前在 python 烧瓶中做了什么?