我正在开发一个网络应用程序,您可以在其中搜索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
答案 0 :(得分:1)
我注意到你的代码有两件事:
似乎没有在该代码块中的任何地方定义授权:
Bearer ${accessToken}
accessToken,而是看到userAccessToken
错误的第二个也是最可能的原因是你的请求正文应该是一个字符串(JSON字符串化)而不是一个对象
PS:我不知道为什么有人投了这票而没有理由,我讨厌发生这种情况