Facebook 离子脸谱插件不稳定

Facebook 离子脸谱插件不稳定,facebook,facebook-graph-api,ionic-framework,ionic,Facebook,Facebook Graph Api,Ionic Framework,Ionic,在我的Ionic项目中,我在尝试获取用户的facebook好友时遇到了一个随机出现的问题。 这是我的控制器中的代码: $ionicPlatform.ready(function () { console.log('SPLASHCTRL: FB: ionic is ready'); console.log('SPLASHCTRL:FB: starting getLoginStatus()'); $cordovaFacebook.getLoginStatus() .then(func

在我的Ionic项目中,我在尝试获取用户的facebook好友时遇到了一个随机出现的问题。 这是我的控制器中的代码:

$ionicPlatform.ready(function () {
  console.log('SPLASHCTRL: FB: ionic is ready');
  console.log('SPLASHCTRL:FB: starting getLoginStatus()');


  $cordovaFacebook.getLoginStatus()
.then(function(success) {
      //checking if succes
      if(success.status === "connected"){
            console.log("SplashCtrl:FB: User is FB Authenticated; staying at splash");

            $cordovaFacebook.api("me/friends", ["user_friends"])
                .then(
                    function(success) {
                      console.log("SPLASHCTRL: FB: GOT FBAPP FRIENDS SUCCESFULLY: " + JSON.stringify(success));

                       $scope.fbAppFriends = success.data;
                       console.log('SPLASHCTRL: FB: SETTING LOADING TO FALSE');

                       $scope.loadingFbFriends = false;
                    // success
                   }, 
                   function (error) {
                    console.log('SPLASHCTRL: FB: ERROR GETTING FRIENDS' + JSON.stringify(error));

                  }
                );

          } else{
            console.log('SPLASHCTRL: FB: User response is not connected');

            $state.go('intro');
          }

     }, 

    function (error) {
          console.log('SPLASHCTRL: FB: Error getting login status: ' + JSON.stringify(error));

    });


});
当运行这个时,我得到日志说

"SplashCtrl:FB: User is FB Authenticated; staying at splash"
表示一切正常,但在过了一半时间后,什么也没有发生,使它看起来像
$cordovaFacebook.api
。 事实证明,每次未调用函数时,我都会出现一个错误,即:

    FB.getLoginStatus() called before FB.init()
奇怪的是,这个错误经常出现,代码也不一样

还有其他人遇到类似问题吗?

您应该使用

ngCordova是一个用于Ionic的库,充当Ionic和标准cordova插件之间的接口

从文件中:

module.controller('MyCtrl', function($scope, $cordovaFacebook) {

    $cordovaFacebook.login(["public_profile", "email", "user_friends"])
        .then(function(success) {
           // success
        }, function (error) {
           // error
        }
    );

    $cordovaFacebook.getLoginStatus()
        .then(function(success) {
           // success
        }, function (error) {
           // error
        }
    );
});