Spotify API 的问题,获取流派的未定义响应,(在初始授权请求成功后)

时间:2021-02-24 15:09:02

标签: reactjs api axios spotify

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

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

      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))

      }, [])

1 个答案:

答案 0 :(得分:0)

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