Я пытаюсь сделать запрос на поставку к конечной точке Spotify Web API, используя HttpClient от Angular, но запрос не выполняется, и я не уверен, почему. Посмотрите на следующий код:
let headers = new HttpHeaders().set('Authorization', 'Bearer ' + this.accessToken);
const endpoint1 = 'https://api.spotify.com/v1/me/player/currently-playing';
this.httpClient.get(endpoint1, { headers: headers }).subscribe((data: Object) => {
console.log(data);
});
const endpoint2 = 'https://api.spotify.com/v1/me/player/play';
this.httpClient.put(endpoint2, { headers: headers }).subscribe((data: Object) => {
console.log(data);
});
Запрос get работает просто отлично, заголовок Authorization установлен в запросе и работает как положено. Поставленный запрос однако не работает. В ответ я получаю сообщение об ошибке «Токен не предоставлен». Кроме того, в инструментах разработчика Chrome на вкладках сети показан запрос get с заголовком Authorization, но у запроса put нет заголовка Authorization.
Я не уверен, что отличается между двумя запросами, которые могут вызвать ошибку на втором, обе конечные точки требуют только заголовок авторизации, и я убедился, что токен доступа был предоставлен с надлежащими областями, необходимыми для доступа к этим конечные точки.
Для проигрывателя / воспроизведения требуется область действия «пользователь-изменяет-воспроизведение-состояние», а для проигрывателя / воспроизведения в данный момент требуется «пользователь-чтение-воспроизведение-в данный момент» и / или «пользователь-чтение-воспроизведение-состояние», I ' мы включили все три.
Две конечные точки можно найти здесь:
https://developer.spotify.com/documentation/web-api/reference/player/get-the-users-currently-playing-track/
https://developer.spotify.com/documentation/web-api/reference/player/start-a-users-playback/
Почему неудачный запрос на поставку и как я могу это исправить?