POST-запрос в Spotify API с сообщением об отсутствии токена

#javascript #reactjs #spotify

#javascript #reactjs #spotify

Вопрос:

Я получаю это сообщение об ошибке при попытке POST-запроса:

 {
  "error": {
    "status": 401,
    "message": "No token provided"
  }
}
  

Дело в том, что я передаю токен доступа, создавая переменную headers и присваивая ее заголовкам для post-запроса следующим образом:

 const headers = {
            Authorization: `Bearer ${accessToken}`
        }
  
 return fetch(`https://api.spotify.com/v1/users/${userId}/playlists`, {
                'headers': headers,
                method: 'POST',
                body: JSON.stringify({'name': name})
  

Этот запрос на выборку выдает мне ошибку, о которой я говорил выше. Как я могу это исправить?

Изображение объекта заголовков прямо перед запросом выборки

Вот ссылка на GitHub: https://github.com/aoljaca/jamming

Этот код находится в документе src / utils / Spotify

Спасибо!

Комментарии:

1. В документах указано, что это должно быть Authorization: Basic *<base64 encoded client_id:client_secret>* как формат. Проверьте параметр заголовка раздела. developer.spotify.com/documentation/general/guides/… Я полагаю, что он используется Basic в качестве заголовка аутентификации.

2. да, я использую поток грантов implcit developer.spotify.com/documentation/general/guides/… однако, я уверен, что для этого не нужен секрет клиента

Ответ №1:

Я попытался запустить ваш код, но он выдал другую ошибку, прежде чем смог добраться до этой части вашей программы.

Одна из возможных стратегий отладки заключается в том, чтобы убедиться headers , что переменная все еще определена и включает ключ доступа, прежде чем возвращать запрос на выборку. Просто распечатайте его на консоли перед запуском этой конкретной выборки. Если в какой-то момент в вашей цепочке обещаний он выходит за рамки, это может быть null .

Я бы также предложил использовать headers: headers вместо 'headers': headers .

Комментарии:

1. Это именно то, что я только что сделал, и заголовки вернули токен. Я добавлю картинку к моему исходному сообщению. Кроме того, почему у вас сбой кода, но работает для меня? Это потому, что я не полностью развернул приложение react? Спасибо

2. Откройте консоль разработчика и проверьте фактический выполняемый сетевой запрос. Вы должны иметь возможность видеть используемые заголовки.

3. Только что сделал, но пока это не помогает мне решить проблему