我试图在我的Ionic 4
应用程序中设置facebook登录,但当我使用cordova方法时,它不起作用。控制台显示两个错误:
方法FB.login不能再从http页面调用。
在FB.init()之前调用FB.login()。
Web方法完全工作。
facebookCordova() {
this.fb.login(['email']).then(
(response) => {
const facebookCredential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken);
firebase.auth().signInWithCredential(facebookCredential)
.then((success) => {
console.log('Info Facebook: ' + JSON.stringify(success));
}).catch((error) => {
console.log('Erreur: ' + JSON.stringify(error));
});
}).catch((error) => { console.log(error); });
}
期望的输出是在“成功”中获得的用户信息。谢谢你的帮助
1条答案
按热度按时间wlp8pajw1#
消息“The method FB.login can no longer be called from http pages.”仍然显示在我的控制台中,但消息“FB.login()called before FB.init()”消失了,登录功能在我执行以下操作后开始工作:
1.移除平台
ionic cordova platform rm browser
2 -删除Facebook插件
ionic cordova plugin rm cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="MySweetApp"
3 -添加了带有
--save
的Facebook插件(我认为--save
参数是解决方案,并且在文档https://ionicframework.com/docs/native/facebook中没有提到)ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="MySweetApp" --save
4.再次添加平台
ionic cordova platform add browser