Vue axios получить LINE авторизацию не удалось - PullRequest
0 голосов
/ 22 февраля 2019

Мой проект 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/

...