#javascript #java #api
#javascript #java #API
Вопрос:
Я пытаюсь следовать руководству на Youtube, чтобы привыкнуть к Spotify API, но я продолжаю получать ту же ошибку, несмотря на то, что проверил документы, если я допустил опечатку. Я сравнил свой код с тем, которым делятся в видео, и они выглядят точно так же, но я продолжаю получать эту ошибку:
{
"error": {
"status": 401,
"message": "No token provided"
}
}
Для справки, мой js находится здесь
const app = {};
app.apiUrl = 'https://api.spotify.com/v1';
//Allow user to enter some names
app.events = function() {
$('form').on('submit', function(e){
e.preventDefault();
let artists = $('input[type=search]').val();
artists = artists.split(',');
let search = artists.map(artistName => app.searchArtist(artistName));
$.when(...search)
.then((...results) => {
console.log(results);
});
});
};
//Go to spotify to get the artist name
app.searchArtist = (artistName) => $.ajax({
url: `${app.apiUrl}/search`,
method:'GET',
dataType: 'json',
data: {
q: artistName,
type: 'artist'
}
});
//Using the IDs, get the albums
//Get tracks
//Build playlist
app.init = function() {
app.events();
};
$(app.init);
Я знаю, что видео было опубликовано 4 года назад, но я также проверил документацию конечной точки, и, похоже, с 4-летней давности никаких изменений не произошло.
Дополнительная ссылка, мой HTML-код:
<body>
<main class="main-container">
<section>
<div class="form">
<img src="images/note.svg" alt="">
<form action="">
<input type="search" value="muse,ghost">
<input type="submit" value="Create">
</form>
<p>Icon created by unlimicon from the Noun Project</p>
</div>
<div class="playlist">
<div class="loader">
<div class="inner-circle"></div>
</div>
</div>
</section>
</main>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="script.js"></script>
</body>
Комментарии:
1. «Все запросы к веб-API требуют аутентификации. Это достигается путем отправки действительного токена доступа OAuth в заголовке запроса. Для получения дополнительной информации об этих методах аутентификации см. Руководство по авторизации Web API «. developer.spotify.com/documentation/web-api
2. Самое первое, что упоминается в документации конечной точки, — это заголовок авторизации.
Ответ №1:
Похоже, вам не хватает вашего ключа API или вы не передаете его должным образом.
Ответ №2:
Перейдите к https://developer.spotify.com/console/get-search-item / чтобы сгенерировать токен OAuth и использовать тот же токен в вашем вызове API в качестве токена носителя авторизации.
Ответ №3:
Вы уже определили токен доступа к spotify?
https://developer.spotify.com/
app.searchArtist = (artistName) => $.ajax({
url: `${app.apiUrl}/search`,
method:'GET',
dataType: 'json',
data: {
q: artistName,
type: 'artist'
},
headers: {
"Authorization": `Bearer ${yourToken}`
}
});
Комментарии:
1. Спасибо за информацию! Я добавил ваш фрагмент в свой код и заменил ‘yourToken’ на мой токен на предъявителя, но почему-то он сказал, что мой токен недействителен?