0

我正在使用 PhoneGap 和 Facebook Javascript SDK 学习 Android 开发。每次我启动我的应用程序时,我都会遇到这个错误,我不知道到底出了什么问题。请你帮助我好吗?

这些是以下详细信息:

项目位置: D:\Android Dream\FacebookExercise\assets\www\index.html

本地主机位置: C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\

我很确定我的 APP_ID 设置正确。这些是我的 FB 的一些设置:

使用 Facebook 登录的网站

Site URL: http://localhost:8080/

移动网络

Mobile Site URL: http://localhost:8080/

索引.html

<html>
<header>
    <title>Kissa Android App</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script>
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
</header>
<body>
    <div id="fb-root"></div>
    <div id="user-info"></div>
    <script type="text/javascript">
        var isLoaded = false;
        // Additional JS functions here
        window.fbAsyncInit = function() {
            FB.init({
                appId      : 'The App ID', // App ID
                channelUrl : 'http://localhost:8080/res/channel.html', // Channel File
                //channelUrl : 'http://10.0.2.2:8080/assets/www/channel.html',
                status     : true, // check login status
                cookie     : true, // enable cookies to allow the server to access the session
                xfbml      : true,  // parse XFBML
                oauth      : true
            });

            isLoaded = true;

            FB.getLoginStatus(function(response) {
                if (response.status === 'connected') {
                    //window.location = "http://www.google.com";
                } else if (response.status === 'not_authorized') {
                    // not_authorized
                    //alert("You are unauthorized to access this page.");
                } else {
                    //document.getElementById('name').innerHTML = '';
                }
            });



            FB.login(function(response) {
                if (response.authResponse) {
                    FB.api('/me', function(response) {
                        document.getElementById('name').innerHTML = 'Name : ' + response.first_name;
                        var fbLoginBtn = document.getElementById('fbLoginBtn');
                        fbLoginBtn.innerHTML = '<fb:login-button autologoutlink="true" perms="email">&nbsp;</fb:login-button>';
                        FB.XFBML.parse(fbLoginBtn);
                    });
                } else {
                    // cancelled
                }
            });

            FB.Event.subscribe("auth.logout", function() {window.location = 'index.html'});
        };

        // Load the SDK Asynchronously
        (function(d){
             var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
             if (d.getElementById(id)) {return;}
             js = d.createElement('script'); js.id = id; js.async = true;
             js.src = "//connect.facebook.net/en_US/all.js";
             ref.parentNode.insertBefore(js, ref);
        }(document));
    </script>

    <script type="text/javascript">
        function isLoaded(){
            alert("heuy!");
            if(isLoaded)
                alert(isLoaded);
            else
                alert(isLoaded);
        }
    </script>

    <fb:login-button autologoutlink="true" perms="email">&nbsp;</fb:login-button>
    <div id="fbLoginBtn">
        <fb:login-button autologoutlink="true" perms="email">&nbsp;</fb:login-button>
    </div>
    <div id="name" style="font-family : arial"></div>
    <div id="email"></div>

    <input type="button" onclick="isLoaded()" value="hey"/>

</body>

4

1 回答 1

0

您不能简单地在 phonegap 环境中使用 JS SDK。您必须使用提供相同 api 的 phonegap facebook 插件。我刚刚写了一个小教程... http://pjsdev.blogspot.de/2013/03/phonegap-build-facebook-connect-part-2.html

于 2013-03-24T01:51:15.533 回答