即使使用AccessToken,调用spotify API也会给我带来错误的请求(使用Axios)

时间:2017-12-01 02:48:32

标签: reactjs api spotify axios

// If you want your component to get data to render
componentWillMount() {
// Called first time the comp is loaded right before the comp is added to the page
    console.log('Component WILL MOUNT!')

    const BASE_URL = 'https://api.spotify.com/v1/search?';
    const FETCH_URL = 'https://api.spotify.com/v1/artists/0OdUWJ0sBjDrqHygGUXeCF';
    var accessToken = .......


    axios.get(FETCH_URL, {headers : {'Authorization' : accessToken}})

    .then((response) => {

        console.log(response);


    })

        .catch((error) => {
            console.log(error);
    })
}

在我的React webapp中,我从提供的accessToken请求的URL中请求api。在我指定我的accessToken之前,它给了我401(未经授权的错误),但现在它给了我400(不良请求)。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

使用以下代码,它会对您有所帮助。

实际上,您需要基于OAuth2方法,值(冒号后)应以Bearer一词开头,后跟空格后跟令牌。

如果您看到了控制台,那么您将收到以下错误响应,

      {
          "error": {
              "status": 400,
              "message": "Only valid bearer authentication supported"
          }
      }

正如@marekful在评论中添加,有关详细信息,请查看spotify here授权指南。

      accessToken = 'Bearer' + ......;

      axios.get(FETCH_URL, {headers : {'Authorization' : accessToken}})

      .then((response) => {

          console.log(response);


      })

          .catch((error) => {
              console.log(error);
      })

希望这会对你有帮助!