api - 尝试使用 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);
})
解决方案
我会尝试使用data
而不是params
.
我认为data
适用于 POST 正文,params
适用于查询字符串参数。
您应该检查请求以查看您发送的内容,然后将其与您应该发送的内容进行比较。
推荐阅读
- c# - 无法在 WPF 的 DataTable 中添加图像
- statistics - 是否有任何数据集可用于可视化负二项分布?
- java - 复杂 JSON 的 Rest 版本控制
- macos - Mac LAN 的内部 VHost 命名约定
- javascript - D3.js 图表中堆栈栏和线条上的标签
- python - Python 简单的反向传播无法按预期工作
- javascript - 如何将字符串与数组中对象的值进行比较
- javascript - 为什么我看不到它,那是什么二进制代码
- mysql - 在 WHERE IN 子查询中选择
- azure - 如何更改管道变量以在 Azure DevOps 的下一个构建中使用