Не удается получить данные из API Spotify - PullRequest
0 голосов
/ 27 марта 2020

Я хочу получить данные о художниках, за которыми следит пользователь, но когда я делаю запрос, он просто выдает мне код ошибки 400 и сообщение «Поддерживается только действительная аутентификация на носителе». Я не уверен, что не так. Вот код, который я использую.

app.get('/callback', function(req, res) {
  var code = req.query.code || null;
  var state = req.query.state || null;
  var storedState = req.cookies ? req.cookies[stateKey] : null;

  if (state === null || state !== storedState) {
    res.redirect('/#' +
      querystring.stringify({
        error: 'state_mismatch'
      }));
  } else {
    res.clearCookie(stateKey);
    var authOptions = {
      url: 'https://accounts.spotify.com/api/token',
      form: {
        code: code,
        redirect_uri: redirect_uri,
        grant_type: 'authorization_code'
      },
      headers: {
        'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64'))
      },
      json: true
    };

    request.post(authOptions, function(error, response, body) {
      if (!error && response.statusCode === 200) {

        var access_token = body.access_token,
            refresh_token = body.refresh_token;

        var options = {
          url: 'https://api.spotify.com/v1/me/following?type=artist&limit=50',
          headers: { 'Authorization': 'Bearer' + access_token },
          json: true
        };
        request.get(options, function(error, response, body) {
          console.log(body);
        });
        res.redirect('/#' +
          querystring.stringify({
            access_token: access_token,
            refresh_token: refresh_token
          }));
      } else {
        res.redirect('/#' +
          querystring.stringify({
            error: 'invalid_token'
          }));
      }
    });
  }
});
...