我正在尝试在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或调用API的方式上有误。如果有人知道某事,我将不胜感激。 问候。
答案 0 :(得分:4)
firebase.auth.GoogleAuthProvider
是构造函数。
在我看来,您似乎忘记了用new
对其进行初始化。
export const google_provider = new firebase.auth.GoogleAuthProvider()