我的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,它可以工作。 (反派js)↓
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);
为什么我不能使用axios来执行httprequest? 我的axios有什么问题吗?
由于LINE API的信息很少,我无法在Google上找到有关此问题的有用解决方案,请给我一些建议,谢谢。
p.s。 LINE是在某些亚洲国家/地区受欢迎的消息软件。 LINE API:discussion