У меня странная и разочаровывающая ошибка при попытке добавить песни для спойтинга через API.
Вызов API успешен, и песни добавлены правильно, однако возвращается «Ошибка TypeError: Cannot read» «данные» из неопределенного ».
Это код, который, я считаю, должен быть правильным.
router.post('/addSongs', async (req, res) => {
var access_token = req.query.access_token;
var playlist_id = req.query.playlist_id;
var songs = req.body.songs;
try {
var retVal = await axios({
method: 'post',
url: `https://api.spotify.com/v1/playlists/${playlist_id}/tracks`,
headers: {
'Authorization': 'Bearer ' + access_token,
'Content-type': 'application/json'
},
data: {
uris: songs
}
});
res.send(retVal);
} catch (error) {
console.log(error.response.data);
res.status(error.response.status).send(error);
}
});
Одно решение, которое я нашел, которое делает его более расстраивающим, состоит в том, что следующее изменение заставляет его работать идеально, хотя и заставляет меня чувствовать ужасно:
...
} catch (error) {
res.status(200).send("whatever");
}
...
Я использую Express и Netlify-lambda, и я довольно плохо знаком со всем этим.
Обратите внимание, что он также работает правильно и печатает статус ошибки и сообщение, когда на самом деле есть ошибка, и я получаю сообщение об ошибке «Преобразование круговой структуры в JSON», если я только печатаю ошибку