firebase 为什么"方法FB.login不能再从http页面调用,"出现在我的Ionic4应用程序?

jjhzyzn0  于 2023-10-22  发布在  Ionic
关注(0)|答案(1)|浏览(334)

我试图在我的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); });
  }

期望的输出是在“成功”中获得的用户信息。谢谢你的帮助

wlp8pajw

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

相关问题