Spotify API отвечает запрещенным моим поиском позиции в текущем запросе трека - PullRequest
0 голосов
/ 22 сентября 2019

Для небольшого проекта, который я имел в виду, я хотел лучше познакомиться с Spotify API.Все шло хорошо, пока я не захотел попробовать поиск позиции в текущем воспроизводимом треке запрос, который требует только область действия user-modify-play-state , когда я отправляю запрос серверуотвечает 403 FORBIDDEN .

{ [WebapiError: Forbidden] name: 'WebapiError', message: 'Forbidden', statusCode: 403 }

Стоит отметить, что я использую модуль spotify-web-api-node для связи с API, ноЯ попытался отправить тот же запрос от Почтальона, и возникла та же проблема.

Я использую эту функцию для переключения между пользователями:

const switchToUser = (username, callback) => {
  User.findOne({ username: username })
    .then(user => {
      if (user !== null) {
        SpotifyApi.setRefreshToken(user.refreshToken);
        SpotifyApi.refreshAccessToken()
          .then(data => {
            SpotifyApi.setAccessToken(data.body["access_token"]);
            callback(); // Callback
          })
          .catch(err => console.log(err));
      } else {
        console.log("There's no user with that username in the database.");
      }
    })
    .catch(err => console.log(err));
};

Мой звонок:

switchToUser("stelrin", () => {
  SpotifyApi.seek(1569091982344).then(
    () => console.log("done"),
    err => console.log(err)
  );
});

Ссылка авторизации:

https://accounts.spotify.com/authorize?client_id={myClientId}&response_type=code&redirect_uri={myRedirectUri}&scope=user-modify-playback-state%20user-read-playback-state&state=stelrin

Функция поиска: Image

Я пытался найти функцию поиска в spotify-web-api-node документах , но не нашел ее.

Спасибоза ваше время.

1 Ответ

0 голосов
/ 23 сентября 2019

Вы можете получить 403 при попытке воспроизведения без премиум-класса, но в сообщении будет указано PREMIUM_REQUIRED , другая возможность состоит в том, что параметры для поиска не верны, только position_ms и device_id поддерживается, с последним вариантом, вы можете попробовать проверить, что отправляется в Spotify, чтобы проверить, что запрос к https://api.spotify.com/v1/me/player/seek правильный

...