GoogleAuthProvider在Web应用程序中给出错误“ this.ta不是函数”

时间:2018-08-19 13:28:23

标签: javascript firebase google-authentication

我正在尝试在Web应用程序中设置与Google的身份验证。我在Android应用程序上做了几次这种事情,但是现在当我加载我的应用程序时,出现错误“ this.ta不是函数”。也许它有些愚蠢,但我无法发现问题。这是我所拥有的:

api.js

import { db, storage, auth, google_provider } from './firebase'
sign_in() {
    auth.signInWithPopup(google_provider).then(result => {
        var token = result.credential.accessToken;
        var user = result.user;
    }).catch(error => {
        var errorCode = error.code;
        var errorMessage = error.message;
        var email = error.email;
        var credential = error.credential;
    })
}

firebase.js

import * as firebase from 'firebase';
const app = firebase.initializeApp({
    apiKey: "my-key",
    authDomain: "domain",
    databaseURL: "https://domain-url",
    projectId: "name",
    storageBucket: "bucket",
    messagingSenderId: "id"
})

export const db = app.firestore()
export const storage = app.storage().ref()
export const auth = app.auth()
export const google_provider = firebase.auth.GoogleAuthProvider()

这是错误GoogleAuthProvider Error

也许我在初始化GoogleAuthProvider或调用API的方式上有误。如果有人知道某事,我将不胜感激。 问候。

1 个答案:

答案 0 :(得分:4)

firebase.auth.GoogleAuthProvider是构造函数。 在我看来,您似乎忘记了用new对其进行初始化。

export const google_provider = new firebase.auth.GoogleAuthProvider()