首页 > 解决方案 > spotify API 的问题,返回未定义的流派响应,(在成功的初始授权请求后)

问题描述

GenreResponse,console.logs 未定义,我不知道为什么......

Spotify 客户端凭据流程:首先您必须请求授权,然后成功接收令牌,并打印到控制台。然后我从响应中获取该令牌(通过 data.access_token 访问它)并将其放在 auth 标头中。是的,它是不记名令牌,似乎设置正确。我似乎无法找出为什么genreResponse 回来未定义。捕获错误也不会记录任何内容。

      useEffect(() => {
        // Client Credentials Flow
        const config = {
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
            'Authorization': 'Basic ' + btoa(process.env.REACT_APP_CLIENT_ID + ':' + process.env.REACT_APP_CLIENT_SECRET)
          },
          method: 'POST',
          data: 'grant_type=client_credentials',
          url: 'https://accounts.spotify.com/api/token',
          
        };
        axios(config)
          .then(tokenResponse => {
            console.log(tokenResponse)
            setToken(tokenResponse.data.access_token)

            // second axios request to genre 
            const config = {
              headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json',
                'Authorization': 'Bearer ' + tokenResponse.data.access_token
              },
              method: 'GET',
              url: 'https://api.spotify.com/v1/browse/categories?locale=sv_US'
            }
            axios(config)
          })
          .then(genreResponse => {
            console.log(genreResponse)
          })
          .catch((err) => console.log(err))

      }, [])

标签: reactjsapiaxiosspotify

解决方案


.then ..... .then(genreResponse => { console.log(genreResponse)}) 的语法需要在 axios(config) 旁边


推荐阅读