POST请求Spotify API的问题

时间:2018-02-04 02:17:01

标签: javascript reactjs spotify

我正在开发一个网络应用程序,您可以在其中搜索Spotify库,将歌曲添加到播放列表,然后将该播放列表添加到Spotify帐户。除了通过对Spotify API的POST请求保存播放列表之外,一切似乎都有效。它给了我一个“400 Bad Request”错误。我可能只是错过了一些小事,任何想法?请求方法:

async savePlaylist(name, trackURIs) {
        if(accessToken === undefined) {
            this.getAccessToken();
        }
        if (name === 'New Playlist' || name === undefined || trackURIs === undefined) {
            return;
        } else {
            let userAccessToken = this.getAccessToken();
            let headers = {Authorization: `Bearer ${userAccessToken}`};
            let userId = await this.findUserId();
            let playlistID;
            fetch(`https://api.spotify.com/v1/users/${userId}/playlists`, {
                method: 'POST',
                headers: {
                    Authorization: `Bearer ${accessToken}`,
                    "Content-Type": 'application/json'
                },
                body: {
                    name: name
                }
            }).then(response => {return response.json()}
            ).then(playlist => {
                playlistID = playlist.id;
            });
        }
    },

如果您需要查看我正在处理的分支的回购,可以找到它here

编辑:可能需要API Endpoint Documentation

1 个答案:

答案 0 :(得分:1)

我注意到你的代码有两件事:

  

授权:Bearer ${accessToken}

似乎没有在该代码块中的任何地方定义

accessToken,而是看到userAccessToken

错误的第二个也是最可能的原因是你的请求正文应该是一个字符串(JSON字符串化)而不是一个对象

this answers shows a good example

PS:我不知道为什么有人投了这票而没有理由,我讨厌发生这种情况