我遇到代码问题。
axios({
method: 'post',
url: 'https://id.twitch.tv/oauth2/token',
body: {
client_id: 'a',
client_secret: 'Bearer b',
grant_type: 'client_credentials',}
}).then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
})
结果是:
data: { status: 400, message: 'missing client id' }
但如果我把它们放在url:中,这种方式效果很好
url: 'https://id.twitch.tv/oauth2/token?client_id=a&client_secret=b&grant_type=client_credentials',
我的问题是什么?你能给我举一个axios.get的例子吗?带有:
url: 'https://api.twitch.tv/helix/games/top'
headers: {
client_id: 'a',
Authorization: 'Bearer b',
}
对于axios,您需要作为data
而不是body
发送
然后构造/发送FormData
例如
axios({
method: "post",
url: "myurl",
data: bodyFormData,
headers: { "Content-Type": "multipart/form-data" },
})
.then(function (response) {
//handle success
console.log(response);
})
.catch(function (response) {
//handle error
console.log(response);
});
另请参阅:axios发布发送表单数据的请求以及:https://github.com/axios/axios/issues/318
使用body
将得到混合结果,因为库(axios(不知道如何对发送的数据进行编码
就我个人而言,我使用got
而不是axios
,所以我发送
got({
url: "https://id.twitch.tv/oauth2/token",
method: "POST",
headers: {
"Accept": "application/json"
},
form: {
client_id: config.client_id,
client_secret: config.client_secret,
grant_type: "client_credentials"
},
responseType: "json"
})
.then(resp => {
//SNIP
显然API通过URL接收参数,因此将它们作为URL传递也是很有趣的。例如:axios({方法:"post",url:'https://id.twitch.tv/oauth2/token?client_id=${variable.a}&client_secret=${variable.b}…