将曲目添加到播放列表 - 使用获取向 Spotify API 发布请求 - 不起作用



我正在尝试将曲目 uri 和播放列表 ID 发布到 spotify API,以便将曲目添加到播放列表中。

我正在使用 url 参数,一次只能使用一个轨道,因为 spotify 说你可以这样做'要添加的曲目的 Spotify URI 可以在查询字符串中传递,也可以在请求正文中作为 JSON 数组传递。

请求挂起,没有任何反应。没有错误,没有响应。在邮递员中,如果我使用相同的承载身份验证和 url,我会得到"snapshot_id"作为响应,这就是我在代码中寻找的内容。

我尝试过一个 axios 帖子和一个获取帖子,两者的行为相同。

async function updatePlaylist(accessToken, reqParams) {
console.log('PARAMS _', reqParams);
console.log('token _', accessToken);
console.log('trying...');
const url = `https://api.spotify.com/v1/playlists/${reqParams.playlist_id}/tracks?uris=${reqParams.track_uri}`;
return fetch(url, {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + accessToken
},
contentType: 'application/json'
}).then((response) => {
console.log('response promise is ', response.json())
return response;
}).catch(err => {
console.error(err);
throw new Error('Update playlist call failed');
});
}
async function updatePlaylist(accessToken, reqParams) {
console.log('PARAMS _', reqParams);
console.log('token _', accessToken);
console.log('trying...');
const url = 
`https://api.spotify.com/v1/playlists/${reqParams.playlist_id}/tracks?uris=${reqParams.track_uri}`;
return axios.post(url, {
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
}
}).then((response) => {
console.log('response promise is ', response)
}).catch(err => {
console.log('errrring ',err)
if (err.response.status === 401) {
return {statusCode: 401};
}
console.error(err);
throw new Error('Get all play lists call failed');
});
}

我所有的变量都在那里。我希望"snapshot_id"返回给我确认更新。

任何帮助最受欢迎。

您是否尝试过在标题中将内容长度设置为 0?

例如,在 axios 实现中,它会像这样

headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json',
'Content-Length': '0'
}

最新更新