使用 Axios GET POST 的 Twitch API 问题
Problem with API of Twitch with Axios GET POST
我遇到了代码问题。
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',
}
显然 API 通过 URL 接收参数,因此将它们也作为 url 传递也很有趣。
例如:axios({
方法:'post',
url: 'https://id.twitch.tv/oauth2/token?client_id=${variable.a}&client_secret=${variable.b}...
对于 axios,您需要以 data
而不是 body
的形式发送
然后construct/send一个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);
});
另请参阅:
和: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
我遇到了代码问题。
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',
}
显然 API 通过 URL 接收参数,因此将它们也作为 url 传递也很有趣。 例如:axios({ 方法:'post', url: 'https://id.twitch.tv/oauth2/token?client_id=${variable.a}&client_secret=${variable.b}...
对于 axios,您需要以 data
而不是 body
然后construct/send一个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);
});
另请参阅:
使用 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