Проблема с vue-google-oauth-2 в Vue.js

Я пытаюсь добавить кнопку входа в Google в свое приложение Vue.js и обнаружил плагин vue-google-oauth2. Я установил его и следовал в точности sample.html код для интеграции его в моем приложении, таким образом:

<template>
  <div>
   <h1>Test</h1>
   <button @click="handleClickSignIn" :disabled="!isLoaded">signIn</button>
  </div>
 </template>

 <script>
  /** 
  * You should first need to place these 2 lines of code in your APP ENTRY file, e.g. src/main.js
  *
  * import GAuth from 'vue-google-oauth2'
  * Vue.use(GAuth, {clientId: '4584XXXXXXXX-2gqknkvdjfkdfkvb8uja2k65sldsms7qo9.apps.googleusercontent.com'})
  * 
  */
  export default {
   name: 'test',
   props: [],
   components: {
   },
   data () {
    return {
     isLoaded: false
    }
   },
   computed: {
   },
   methods: {
    handleClickSignIn(){
      this.$gAuth.signIn(function (user) {
         //on success do something
      console.log('user', user)
      }, function (error) {
         //on fail do something
      })
    }
  },
  mounted(){
    let that = this
    let checkGauthLoad = setInterval(function(){
      that.isLoaded = that.$gAuth.isLoaded()
      console.log('checked', that.isLoaded)
      if(that.isLoaded) clearInterval(checkGauthLoad)
    }, 1000);
  }
}
</script>

Проблема в том, что isLoaded() метод никогда не возвращает true, при этом консоль Google Chrome сообщает мне каждый раз, когда я нажимаю на кнопку, что google api is not readyэто сообщение консоли плагина, выводимое, когда GoogleAuthInstance false, Кто-нибудь может мне помочь?

2 ответа

Использование isInit вместо isLoaded так как последний будет / устарел.

Добавить в main.js

      import GAuth from 'vue-google-oauth2'


Vue.use(GAuth, {
    clientId: '....apps.googleusercontent.com',
    scope: 'email',
    prompt: 'consent',
    fetch_basic_profile: true
})


new Vue({
...
  render: (h) => h(App),
}).$mount("#app");
Другие вопросы по тегам