spotify-web-api-node {"name": "WebapiError", "message": "Bad Request", "statusCode": 400} - PullRequest
0 голосов
/ 27 февраля 2020

У меня проблема с 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);
                  });
            }
        })
});
...