У меня проблема с lib spotify-web-api-node. Когда я тестирую свой запрос / createplaylist, я получаю эту ошибку:
{"name": "WebapiError", "message": "Bad Request", "statusCode": 400}
а также, когда я захожу в Spotify с моим запросом "/ auth", я получаю ту же ошибку в первый раз, и если я пытаюсь второй раз, это работает ... если вы видите что-то не так в моем коде ... Последний запрос / художников работает.
var spotifyApi = new SpotifyWebApi({
clientId: "myClientId",
clientSecret: "MySecretId",
redirectUri: "https://localhost:8080/api/spotify/auth/callback",
});
spotify_router.get('/auth', function(req, res) {
res.redirect('https://accounts.spotify.com/authorize' +
'?response_type=code' +
'&client_id=' + spotifyApi.getClientId() +
(scopes ? '&scope=' + encodeURIComponent(scopes) : '') +
'&redirect_uri=' + encodeURIComponent(spotifyApi.getRedirectURI()));
});
spotify_router.get('/auth/callback', async (req, res) => {
// console.log("--- token--" + req.headers.authorization)
code = req.query.code;
try {
var data = await spotifyApi.authorizationCodeGrant(code.toString())
const { access_token, refresh_token } = data.body;
spotifyApi.setAccessToken(access_token);
spotifyApi.setRefreshToken(refresh_token);
res.json({success: true, msg: data.body});
} catch(err) {
res.json(err);
}
});
spotify_router.get('/createplaylist', (req, res) => {
spotifyApi.createPlaylist('AREAAAAAA', { 'public' : false })
.then(function(data) {
res.json("okkk")
console.log('Created playlist!');
}, function(err) {
console.log('Something went wrong!', err);
res.json(err)
});
})
spotify_router.get('/artists', (req, res) => {
// token = getToken(req.headers);
// console.log(token);
// if (token) {
// console.log(location.hostname)
spotify.findOne({username: "User.username"}, function(err, username) {
if (err) throw err
if (username == null) res.json("500: Not connected to Spotify");
else {
console.log(spotifyApi.getAccessToken());
spotifyApi.searchArtists("Love")
.then(function(data) {
res.json({success: true, msg: data.body});
}, function(err) {
console.error(err);
});
}
})
});