Facebook从没有会话的应用程序注销(用户应用程序授权)

时间:2010-09-27 13:17:43

标签: javascript facebook sdk facebook-like logout

我现在已经用这个太长时间把头撞到墙上了。

我在facebook外面有一个页面,有一个像按钮。因为它应该在公共计算机上,我们还需要一个可见的注销按钮。单击“喜欢”时,系统会提示用户输入登录凭据。如果这些都没问题,那么类似事件就可以了。然后用户应该能够注销。哪个不起作用。

like按钮现在是一个元素。单击时,它会创建一个edge.create-event,我可以很好地捕获它。

对于Logout按钮,我尝试了2个选项。

第一个:

<fb:login-button autologoutlink="true"></fb:login-button>

问题是,即使在用户通过like-link登录后,即使在页面刷新之后,链接也会保持“登录”状态。

和一个触发

的普通按钮
FB.logout(function(response) {
   cout(response);
});

这将返回错误“FB.logout()在没有会话的情况下调用。”这似乎是因为用户没有授权该应用程序。所以申请没有权利。如果用户授权应用程序,两个注销选项都可以正常工作。问题是,只有在单击“登录”按钮时才会询问此问题。在这个用例中,用户首先登录然后点击就没有意义。

如果没有获得用户的应用授权,如何让注销工作? 或者如何以要求授权的方式制作“喜欢”按钮?

1 个答案:

答案 0 :(得分:0)

我认为不可能。

您可以检查某人是否当前登录到Facebook而不是您的登录,这是您可以做的最多的事情。如果用户未获得您的应用程序的授权,则您无法对其登录会话(或数据)执行任何操作。

我认为你不应该担心公共电脑,毕竟这是facebook的问题,而不是你的问题。如果用户在登录期间检查公共计算机上的“记住我”,则他们很可能也不会单击您的注销按钮。