我正在尝试在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的方式可能不对。如果有人知道某事,我将不胜感激。
问候。

最佳答案

firebase.auth.GoogleAuthProvider是一个构造函数。
在我看来,您似乎忘记了使用new对其进行初始化。
export const google_provider = new firebase.auth.GoogleAuthProvider()

10-06 07:29