如何使用ngCordova facebook插件?

时间:2015-10-27 09:28:09

标签: angularjs cordova ionic

我试图在我的离子应用程序中开发facebook登录。我想使用ngCordova Facebook插件,我已按照那里的说明操作,但收到错误:facebook connect plugin is not defined

我该怎么办?我已按照Android的说明操作,我的应用程序是基于离子的。

1 个答案:

答案 0 :(得分:1)

您可以使用此详细文章 - OAuth with Ionic and ngCordova

或者添加指向您正在使用的文档的链接并指定停止的步骤?

你有没有关注这个guide

编辑:好的,我查看了我的源代码。我没有使用任何SDK依赖的插件。 我正在使用轻量级库OpenFB。我接着是自述文件中的步骤,并在我的离子应用程序中登录了fb。

EDIT2: BTW,我尝试使用ngCordova包装器(我添加了它的第一个版本的答案)相同的结果。

我想你错过了什么..可能你没有添加到facebookConnectPlugin.js的链接?

我的index.html页面:

    

<script src="js/facebookConnectPlugin.js"></script>
<script src="js/ng-cordova.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>

<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>

控制器:

.controller('DashCtrl', function ($scope, $cordovaFacebook) {
    $scope.getLoginStatus = function () {
        $cordovaFacebook.getLoginStatus().then(function (status) {
            $scope.status = status;
        }, function (error) {
            $scope.status = error;
        })
    };
    $scope.login = function () {
        $cordovaFacebook.login(["public_profile"]).then(function (success) {
            $scope.loginInfo = success;
        }, function (error) {
            $scope.error = error;
            alert(error);
        })
    };
    $scope.logout = function () {
        $cordovaFacebook.logout().then(function (success) {
            console.log(success);
        }, function (error) {
            $scope.error = error;
            alert(error);
        })
    };
    $scope.getMe = function () {
        $scope.me = ["refreshing..."];
        $cordovaFacebook.api("me", null).then(function (success) {
            $scope.me = success;
        }, function (error) {
            $scope.error = error;
        })
    };
})

查看:

<button class="button button-block button-positive" ng-click="login()">Login</button>
<h5>Login info</h5>
<div ng-repeat="info in loginInfo">{{info}}</div>
<div class="card">
    <div class="item item-divider">Login Info</div>
    <div class="item" ng-repeat="info in loginInfo">{{info}}</div>
</div>
<button class="button button-block button-dark" ng-click="getLoginStatus()">Check Login Status</button>
<div class="card">
    <div class="item item-divider">Login Status</div>
    <div class="item" ng-repeat="info in status">{{info}}</div>
</div>
<button class="button button-block button-energized" ng-click="getMe()">API - get Me</button>
<h5>Api Me info</h5>
<div class="card">
    <div class="item item-divider">Api Me info</div>
    <div class="item" ng-repeat="info in me">{{info}}</div>
</div>
<button class="button button-block button-assertive" ng-click="logout()">Logout</button>

如果它没有帮助 - 明天我会将我的来源放在github上。