【问题标题】:How to use ngCordova facebook plugin?如何使用 ngCordova facebook 插件?
【发布时间】:2015-10-28 07:39:32
【问题描述】:

我正在尝试在我的 ionic 应用程序中开发 facebook 登录。我想使用 ngCordova Facebook 插件,并按照那里的说明进行操作,但收到错误消息:facebook connect plugin is not defined

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

【问题讨论】:

    标签: angularjs cordova ionic


    【解决方案1】:

    您可以使用这篇详细的文章 - OAuth with Ionic and ngCordova

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

    你关注过这个guide吗?

    编辑:好的,我检查我的源代码。我没有使用任何依赖于 SDK 的插件。 我正在使用轻量级库OpenFB。我按照自述文件中介绍的步骤操作,并在我的 ionic 应用程序中登录了 fb。

    EDIT2:顺便说一句,我尝试过使用 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 上。

    【讨论】:

    • 我已经关注了..但我需要连接到本机 fb 应用程序才能登录
    • 我可以说我快要解决这个问题了...现在我收到来自 facebook 的错误 :.要使用此 url,您必须在应用程序的设置中添加有效的原生平台
    • 晚上回家试试。我之前为 PhoneGap 做过,但使用了其他方法
    • 好的..我等待你的回答...我尝试解决这个错误..如果我成功了我会发布
    • 我成功了...我必须在 facebook 开发人员处进行一些设置!无论如何..你的答案很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多