【问题标题】:Having trouble connecting to Spotify API连接到 Spotify API 时遇到问题
【发布时间】:2022-11-18 18:50:07
【问题描述】:

在我的代码中,我试图连接到 Spotify 以获取他们的搜索结果,当用户输入艺术家、标题或专辑时,我正在尝试将我的 state.searchResults 更新为 Spotify 制作的曲目。我的 codecademy 前端课程大约进行了一半,这是我目前坚持的项目。 (也是堆栈溢出的新手)。如果有人可以帮助我,那就太好了!

let accessToken;
const clientId = '';
const redirectUri = "http://localhost:3000/";

const Spotify = {
    getAccessToken() {
        if (accessToken) {
            return accessToken;
        }

        const accessTokenMatch = window.location.href.match(/access_token=([^&]*)/);
        const expiresInMatch = window.location.href.match(/expires_in=([^&]*)/);

        if(accessTokenMatch && expiresInMatch) {
            accessToken = accessTokenMatch[1]; 
            const expiresIn = Number(expiresInMatch[1]);

            window.setTimeout(() => accessToken = '', expiresIn * 1000);
            window.history.pushState('Access Token', null, '/');
            return accessToken;
        } else {
            const accessUrl = `https://accounts.spotify.com/authorize?client_id=${clientId}&response_type=token&scope=playlist-modify-public&redirect_uri=${redirectUri}`;
            window.location = accessUrl;
        }
    },


    search(term) {
        const accessToken = Spotify.getAccessToken();
        return fetch(`https://api.spotify.com/v1/search?type=track&q=${term}`, {
            headers: {
                Authorization: `Bearer ${accessToken}`
            }
        }).then(response => {
            return response.json();
        }).then(jsonResponse => {
            if (!jsonResponse.tracks) {
                return [];
            } 

                return jsonResponse.tracks.items.map(track => ({
                    id: track.id,
                    name: track.name,
                    artist: track.artists[0].name,
                    album: track.album.name,
                    uri: track.uri
                }));
            });
    }

}

export default Spotify;

(我隐藏了 clientId,我在我的代码中设置了它。)

【问题讨论】:

    标签: api spotify


    【解决方案1】:

    我能够使用以下代码访问他们的 API:

    “ 导入请求

    url = "https://open.spotify.com/playlist/1oGCr7EG8ayvb3kW2bs8Il?si=c88dfd4b870f4ae2"

    querystring = {“id”:“37i9dQZF1DX4Wsb4d7NKfP”,“offset”:“0”,“limit”:“100”}

    标题= { “X-RapidAPI-Key”:“08dedf7765msh78602a8691b80c4p1dc7c0jsn7c654c8f2a0f”, “X-RapidAPI-Host”:“spotify23.p.rapidapi.com” }

    response = requests.request("GET", url, headers=headers, params=querystring)

    打印(响应。文本) “

    接着

    “pip 安装 spotipy --user”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-01
      • 2016-01-11
      • 1970-01-01
      • 2022-07-14
      • 2020-12-11
      • 2011-07-13
      • 2022-12-07
      • 2017-05-23
      相关资源
      最近更新 更多