phonegap facebook插件不能正常注销

时间:2016-08-24 07:26:58

标签: android facebook cordova

经过几个小时,很多阅读,实验和构建,我终于设法登录我的演示facebook应用程序。现在我面临着更大的问题。我无法正常登录。

我为phonegap尝试了2个facebook插件,结果完全一样:

cordova-plugin-facebook4

phonegap-facebook-plugin

要重现,首先我要使用Facebook登录个人脸谱资料/设置/应用程序/应用程序,我正在删除我正在尝试的应用程序。就我而言,它叫做DemoApp。

我正在移动应用程序中执行以下代码:

function logInOutTest() {
    alert('start login status check');
    facebookConnectPlugin.getLoginStatus(function (response) {
        alert(JSON.stringify(response));
        if (response.status === 'connected') {
            alert('start log OUT');
            facebookConnectPlugin.logout(function () {
                alert('log out called');
            }, function(error) {
                alert(JSON.stringify(error));
            });
        }
        else {
            alert('start log IN');
            facebookConnectPlugin.login(["public_profile"],
                function (userData) {
                    alert("UserInfo: " + JSON.stringify(userData));
                },
                function (error) {
                    alert(JSON.stringify(error));
                }
            );
        }
    }, function (error) {
         alert('error: ' + JSON.stringify(error));
    });
}

logInOutTest - 第一次迭代日志: - 开始登录状态检查 - {status:“unknown”} - 开始登录 - DemoApp屏幕,说明它将收到我的公开个人资料。继续 - UserInfo:{status:“connected,accessToken:valid}

在这个阶段,我已经登录,DemoApp重新出现在我登录Facebook的应用中

logInOutTest - 第二次迭代日志: - 开始登录状态检查 - {status:“connected”,accessToken:仍然有效} - 开始登录OUT - 注销名为

注销调用是在成功回调中。好像我成功退出了,但是DemoApp仍在使用Facebook登录的应用!!!!

logInOutTest - 第3次迭代日志: - 开始登录状态检查 - {status:“unknown”} - 开始登录 - 登录错误:登录此应用程序时出错。请稍后再试

虽然注销后状态已更改为未知,但在从Facebook登录的应用程序中删除DemoApp之前,我无法再次成功登录。

另外在Facebook我有这些选择: 从设备登录 - 是的;客户端OAuth登录 - 是的; Web OAuth登录 - 是的;嵌入式浏览器OAuth登录 - 是的;强制Web OAuth重新认证 - 否;您的应用目前正在上线并向公众开放 - 是的; 应用未提交,因此我没有密钥签署我的apk

我相信,Android平台设置已正确设置,并在Mac上生成正确的密钥哈希(因此没有ssl的Windows问题),在生成时询问我的密码。

我想我看到一条帖子,其中facebook sdk在注销过程中有一些扩展选项,可以强制退出,但我没有看到有可能在两个facebook插件中为phonegap更改它们

1 个答案:

答案 0 :(得分:1)

我的问题在以下帖子的facebook页面上解决了

problem with facebook login from android phone

简而言之,密钥哈希无效。如果你从你的个人资料中删除应用程序,那就好奇了,它的工作时间是一次,而不是每次都失败。许多人观察到的这种行为,包括我。您可以在主题中找到更多信息。

请勿按照facebook说明在其网页上生成哈希密钥。他们的工作不够好,或者至少你可以用错误的钥匙结束,即使你完全遵循它们!!!!

这是一种可行的方法:

Generate Key Hash for Facebook for Android platform

所有学分归Andrea Palmate所有。