#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. Только что сделал, но пока это не помогает мне решить проблему