[只要我运行代码,Google窗口就会弹出,我们可以选择帐户。选择帐户后,我会出现以下错误:“ googleUser.getBasicProfile不是函数。”
这是我的代码:
isUserEqual=(googleUser, firebaseUser) =>{
if (firebaseUser) {
var providerData = firebaseUser.providerData;
for (var i = 0; i < providerData.length; i++) {
if (providerData[i].providerId === firebase.auth.GoogleAuthProvider.PROVIDER_ID &&
providerData[i].uid === googleUser.getBasicProfile().getId()) {
// We don't need to reauth the Firebase connection.
return true;
}
}
}
return false;
}
在Expo Documentation中,我们可以看到函数Google.logInAsync
的返回对象是您方法的googleUser
(我想,因为我在Firebase Documentation中与此函数存在相同的问题),请注意,这不是有任何方法可以返回logInAsync以与他匹配。所以我将providerData[i].uid
与googleUser.user.id
匹配。
这是重写的代码:
for (var i = 0; i < providerData.length; i++) {
if (providerData[i].providerId === firebase.auth.GoogleAuthProvider.PROVIDER_ID &&
providerData[i].uid === googleUser.user.id) {
return true;
}
}