Vue Axios获得LINE授权失败

时间:2019-02-22 08:03:55

标签: vue.js axios line

我的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

0 个答案:

没有答案