Spotify api将曲目添加到播放列表

时间:2018-12-21 22:00:24

标签: javascript reactjs api spotify

我正在使用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-js中的函数replaceTracksInPlaylist,但是我无法使其正常工作,我总是收到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);
  };

第一个示例还要求将身份验证作为访问令牌,但是为什么在添加到播放列表时它不起作用?

我也将scopes更改为api文档说我应该使用的正确名称,playlist-modify-publicplaylist-modify-private

var scope = 'playlist-modify-public playlist-modify-private user-read-private user-read-email user-read-playback-state';

我可以测试来自api documentation site的api调用,然后在其中插入我的oauth令牌,曲目和播放列表ID,效果很好,我也可以从调用中找回它。我想不出任何其他尝试来寻求下一步的帮助。

0 个答案:

没有答案