首页 > 解决方案 > 尝试使用 Axios 从 Spotify API 获取访问令牌时出错

问题描述

我正在使用 Spotify API 使用 Vue 开发一个项目,但在尝试获取访问令牌时遇到了困难。我正在使用 axios 发出请求,但每次我从服务器获得 400 状态。

这就是我这样做的方式,我在我的 Vuex 商店中的一个操作中有请求,我不确定我是否遗漏了一些东西。

axios({
        method: 'post',
        url: 'https://accounts.spotify.com/api/token',
        params: {
          grant_type: 'authorization_code',
          code: payload.code,
          redirect_uri: process.env.VUE_APP_REDIRECT_URI
        },
        headers: { 
          'Authorization': 'Basic ' + (new Buffer(process.env.VUE_APP_CLIENT_ID + ':' + process.env.VUE_APP_CLIENT_SECRET).toString('base64')),
          'Content-Type': 'application/x-www-form-urlencoded' 
        },
        json: true
        })
        .then((response) => {
            //handle success
            resolve(response);
        })
        .catch((error) => {
            //handle error
            reject(error);
        })

标签: apivue.jsaxiosspotify

解决方案


我会尝试使用data而不是params.

我认为data适用于 POST 正文,params适用于查询字符串参数。

Axios 备忘单

您应该检查请求以查看您发送的内容,然后将其与您应该发送的内容进行比较。


推荐阅读