代码之家  ›  专栏  ›  技术社区  ›  PEPEGA

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

  •  2
  • PEPEGA  · 技术社区  · 6 年前

    我正在使用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);
      };
    

    但我面临的问题是在我的播放列表中添加一首曲目。我试过使用这个函数 replaceTracksInPlaylist 从…起 spotify web api js 但我不能设法让它工作,我总是得到403禁止的错误。

      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-public playlist-modify-private

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

    我可以从 api documentation site 然后在那里插入我的oauth令牌、曲目和播放列表id,这很好,我也从通话中得到了这些信息。我想不出还有什么可以尝试的,我需要一些帮助来找出下一步。

    0 回复  |  直到 6 年前