Мой проект Vue (SPA) требует входа в систему LINE на веб-странице, но у меня есть некоторые проблемы при использовании axios для авторизации.
Это мой код (axios) ↓
var bodyFormData ={
grant_type: "authorization_code",
code:urlParams,
redirect_uri:'https://xxx.com.tw/project/faceTag_Vue/',
client_id:'xxxxxxxxxx',
client_secret:'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
axios({
method: 'post',
url: 'https://api.line.me/oauth2/v2.1/token',
data: bodyFormData,
config: { headers: {'Content-Type': 'application/x-www-form-urlencoded' }}
})
.then(function (response) {
//handle success
console.log(response);
})
.catch(err => {
console.log(err);
});
Ошибка: Request failed with status code 400
.
Кстати, urlParams
- это код, который я получил успешно.
Но я использую злодея js, чтобы сделатьhttprequest, это может сработать.(злодей Дж.С.) ↓
var xhr = new XMLHttpRequest();
var sendBody = 'grant_type=authorization_code&code='+urlParams+'&redirect_uri=https://xxx.com.tw/project/faceTag_Vue/&client_id=xxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
xhr.open("POST", 'https://api.line.me/oauth2/v2.1/token', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() { // Call a function when the state changes.
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
var res = JSON.parse(xhr.response)
console.log(res)
}
}
xhr.send(sendBody);
Почему бы мне не использовать аксиосы для выполнения httprequest?Что-то не так в моих аксиосах?
Из-за небольшого количества информации о LINE API я не могу найти полезное решение этой проблемы, пожалуйста, дайте мне несколько советов, спасибо.
ps LINE isпопулярное программное обеспечение для сообщений в некоторых азиатских странах.LINE APIs: https://developers.line.biz/en/docs/