Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook在没有会话的情况下从应用程序注销(用户应用程序授权)_Javascript_Facebook_Sdk_Facebook Like_Logout - Fatal编程技术网

Javascript Facebook在没有会话的情况下从应用程序注销(用户应用程序授权)

Javascript Facebook在没有会话的情况下从应用程序注销(用户应用程序授权),javascript,facebook,sdk,facebook-like,logout,Javascript,Facebook,Sdk,Facebook Like,Logout,我已经用这个把头撞到墙上太久了 我在facebook外有一个页面,上面有一个like按钮。因为它应该在公共计算机上,所以我们还需要一个可见的注销按钮。单击“like”时,将提示用户输入登录凭据。如果这些都正常,那么类似的事件将正常进行。然后用户应该能够注销。这不管用 like按钮现在是-元素。单击时,它会创建一个edge.create-event,我可以很好地捕捉到它 对于注销按钮,我尝试了两个选项 第一个: <fb:login-button autologoutlink="true"&g

我已经用这个把头撞到墙上太久了

我在facebook外有一个页面,上面有一个like按钮。因为它应该在公共计算机上,所以我们还需要一个可见的注销按钮。单击“like”时,将提示用户输入登录凭据。如果这些都正常,那么类似的事件将正常进行。然后用户应该能够注销。这不管用

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

对于注销按钮,我尝试了两个选项

第一个:

<fb:login-button autologoutlink="true"></fb:login-button>
这将返回一个错误“FB.logout()在没有会话的情况下调用”。这似乎是因为用户尚未授权应用程序。因此,应用程序没有任何权限。如果用户已授权应用程序,两个注销选项都可以正常工作。问题是,只有在单击“登录”按钮时才会询问此问题。在这个用例中,用户首先登录然后单击like是没有意义的

如何在不获得用户应用程序授权的情况下让注销工作?
或者,如何使“喜欢”按钮的方式,它会要求应用程序授权

我认为这是不可能的

你可以检查是否有人当前登录到facebook,但不检查你的up,这是你最多能做的。如果用户未被授权使用您的应用程序,则您无法对其登录会话(或数据)执行任何操作


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

目前我不得不担心公用计算机,因为这正是客户想要的:(…我能想出的唯一解决办法是,如果我能让“喜欢”按钮请求授权。目前我必须处理应用程序的整个逻辑,以避免遇到问题。但是如果我解决了这个问题,应用程序可能会更好。无论如何,感谢您的评论。接受,因为现在似乎不可能。
FB.logout(function(response) {
   cout(response);
});