phonegap-plugin-facebook-connect:登录无效

时间:2013-02-01 00:13:56

标签: facebook cordova phonegap-plugins

this.FBlogin = function() {
    console.log("TEST");

    FB.login(
            function(response) {

                console.log(response);

                if (response.session) {
                    console.log(response.session);
                } else {
                    console.log('not logged in');
                }
            },
            { scope: "user_about_me, user_activities, user_birthday, user_hometown, user_interests, user_location, user_religion_politics, user_status, user_website, offline_access, email" }
    );
}

仅在logCat中打印TEST:

02-01 00:09:30.616: D/CordovaLog(1489): file:///android_asset/www/js/cdv-plugin-fb-connect.js: Line 24 : Cordova Facebook Connect plugin initialized successfully.
02-01 00:09:30.616: I/Web Console(1489): Cordova Facebook Connect plugin initialized successfully. at file:///android_asset/www/js/cdv-plugin-fb-connect.js:24
02-01 00:09:32.096: D/DroidGap(1489): onMessage(spinner,stop)
02-01 00:09:33.907: D/(1489): HostConnection::get() New Host Connection established 0x93e9038, tid 1526
02-01 00:09:48.106: D/CordovaLog(1489): TEST
02-01 00:09:48.106: D/CordovaLog(1489): file:///android_asset/www/js/auth.js: Line 148 : TEST
02-01 00:09:48.106: I/Web Console(1489): TEST at file:///android_asset/www/js/auth.js:148
02-01 00:09:48.185: D/dalvikvm(1489): GC_CONCURRENT freed 56K, 2% free 10199K/10375K, paused 4ms+3ms
02-01 00:09:48.386: D/DroidGap(1489): Paused the application!
02-01 00:09:48.386: D/CordovaWebView(1489): Handle the pause
02-01 00:09:49.025: I/dalvikvm(1489): threadid=3: reacting to signal 3
02-01 00:09:49.055: I/dalvikvm(1489): Wrote stack traces to '/data/anr/traces.txt'
02-01 00:09:49.145: W/EGL_emulation(1489): eglSurfaceAttrib not implemented
02-01 00:09:49.595: D/OpenGLRenderer(1489): Flushing caches (mode 0)
02-01 00:09:55.026: D/DroidGap(1489): Resuming the App

它接缝我被重定向到FB应用程序,但我只看到顶部栏中的AppId和一种说“facebook”的警告框。我的应用程序暂停,回来后没有调用成功处理程序? Anyboby知道为什么吗?或者如何调试?

P.S。 appId已正确添加到strings.xml中。生成密钥哈希并将其添加到FB,以及包和类名。我错过了什么吗?

P.P.S。使用:Phonegap 2.2。以及phonegap-plugin-facebook-connect lib的相应分支:https://github.com/davejohnson/phonegap-plugin-facebook-connect/tree/cordova-2.2-facebook-android-3.0

4 个答案:

答案 0 :(得分:7)

好吧,接缝也是范围的问题。仅更改为电子邮件后,将执行成功函数回调。

{ scope: "email" }

另见:https://github.com/davejohnson/phonegap-plugin-facebook-connect/issues/240

注意这些例子已经过时了:

response.session

请改用以下内容:

response.authResponse.accessToken
response.authResponse.session_key
response.authResponse.expiresIn
response.authResponse.userId
response.authResponse.sig
response.authResponse.expirationTime
response.status

OAuth2处理:请参阅https://developers.facebook.com/blog/post/2011/07/21/updated-javascript-sdk-and-oauth-2-0-roadmap/

答案 1 :(得分:2)

您使用的是Phonegap Build / Build Facebook插件吗?

你是否在任何其他Facebook电话之前正确调用FB.init()?

您的所有示波器拼写是否正确?

答案 2 :(得分:0)

{scope:“email”}你必须放入回调,否则它将无法执行。这是

的一个工作示例

facebook connect using cordova cli 3.3

答案 3 :(得分:0)

我已经按照所有步骤,首次登录工作完美。

登录后,应用程序无法正常工作,当它重新启动时,我收到Invaid android_key参数错误。

哈希键在FB App中配置。我正在使用Phonegap Build 3.0