Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 爱奥尼亚Facebook连接_Angularjs_Facebook_Ionic Framework - Fatal编程技术网

Angularjs 爱奥尼亚Facebook连接

Angularjs 爱奥尼亚Facebook连接,angularjs,facebook,ionic-framework,Angularjs,Facebook,Ionic Framework,我对爱奥尼亚的开发非常陌生,我正在尝试将我的应用程序与Facebook登录集成。我找到了这个教程,我按照它显示的方式做了所有的事情,但是我得到了以下错误 TypeError: Cannot read property 'getLoginStatus' of undefined at Scope.$scope.facebookSignIn (controllers.js:547) at $parseFunctionCall (ionic.bundle.js:21172) at ionic.b

我对爱奥尼亚的开发非常陌生,我正在尝试将我的应用程序与Facebook登录集成。我找到了这个教程,我按照它显示的方式做了所有的事情,但是我得到了以下错误

TypeError: Cannot read property 'getLoginStatus' of undefined
 at Scope.$scope.facebookSignIn (controllers.js:547)
 at $parseFunctionCall (ionic.bundle.js:21172)
 at ionic.bundle.js:53674
 at Scope.$eval (ionic.bundle.js:23228)
 at Scope.$apply (ionic.bundle.js:23327)
 at HTMLAnchorElement.<anonymous> (ionic.bundle.js:53673)
 at HTMLAnchorElement.eventHandler (ionic.bundle.js:11841)
 at triggerMouseEvent (ionic.bundle.js:2865)
 at tapClick (ionic.bundle.js:2854)
 at HTMLDocument.tapTouchEnd (ionic.bundle.js:2977)

提前谢谢。

您是在测试浏览器还是在移动设备上?我是在浏览器上测试。cordova插件在浏览器中不起作用,在真实设备或设备模拟器上测试。我实现了facebook登录应用程序和浏览器。ngCordova用于应用程序,简单的facebook脚本用于浏览器。我通过Android部署了应用程序,但仍然无法运行。
.controller('WalkthroughCtrl', function($scope, $state, $q, UserService, $ionicLoading) {

var fbLoginSuccess = function(response) {
if (!response.authResponse){
  fbLoginError("Cannot find the authResponse");
  return;
}

var authResponse = response.authResponse;

getFacebookProfileInfo(authResponse)
.then(function(profileInfo) {
  // For the purpose of this example I will store user data on local storage
  UserService.setUser({
    authResponse: authResponse,
            userID: profileInfo.id,
            name: profileInfo.name,
            email: profileInfo.email,
    picture : "http://graph.facebook.com/" + authResponse.userID + "/picture?type=large"
  });
  $ionicLoading.hide();
  $state.go('app.feeds-categories');
}, function(fail){
  // Fail get profile info
  console.log('profile info fail', fail);
});
};

// This is the fail callback from the login method
var fbLoginError = function(error){
console.log('fbLoginError', error);
$ionicLoading.hide();
};

// This method is to get the user profile info from the facebook api
 var getFacebookProfileInfo = function (authResponse) {
var info = $q.defer();

facebookConnectPlugin.api('/me?fields=email,name&access_token=' + authResponse.accessToken, null,
  function (response) {
            console.log(response);
    info.resolve(response);
  },
  function (response) {
            console.log(response);
    info.reject(response);
  }
);
return info.promise;
};

//This method is executed when the user press the "Login with facebook" button
$scope.facebookSignIn = function() {
facebookConnectPlugin.getLoginStatus(function(success){
  if(success.status === 'connected'){
    // The user is logged in and has authenticated your app, and response.authResponse supplies
    // the user's ID, a valid access token, a signed request, and the time the access token
    // and signed request each expire
    console.log('getLoginStatus', success.status);

        // Check if we have our user saved
        var user = UserService.getUser('facebook');

        if(!user.userID){
                getFacebookProfileInfo(success.authResponse)
                .then(function(profileInfo) {
                    // For the purpose of this example I will store user data on local storage
                    UserService.setUser({
                        authResponse: success.authResponse,
                        userID: profileInfo.id,
                        name: profileInfo.name,
                        email: profileInfo.email,
                        picture : "http://graph.facebook.com/" + success.authResponse.userID + "/picture?type=large"
                    });

                    $state.go('app.feeds-categories');
                }, function(fail){
                    // Fail get profile info
                    console.log('profile info fail', fail);
                });
            }else{
                $state.go('app.home');
            }
  } else {
    // If (success.status === 'not_authorized') the user is logged in to Facebook,
            // but has not authenticated your app
    // Else the person is not logged into Facebook,
            // so we're not sure if they are logged into this app or not.

            console.log('getLoginStatus', success.status);

            $ionicLoading.show({
      template: 'Logging in...'
    });

            // Ask the permissions you need. You can learn more about
            // FB permissions here: https://developers.facebook.com/docs/facebook-login/permissions/v2.4
    facebookConnectPlugin.login(['email', 'public_profile'], fbLoginSuccess, fbLoginError);
  }
});
};

})