如何在不使用fb-login按钮的情况下从facebook连接网站注销用户?我想从codebehind(c#)做到这一点?
答案 0 :(得分:10)
我发现FB.logout()
只能通过Javascript选择。似乎有点奇怪的是,代码隐藏没有API来做同样的事情。
答案 1 :(得分:7)
如果您只想要一个简单的链接来注销用户,您可以形成这样的网址:
https://www.facebook.com/logout.php?access_token=ACCESS_TOKEN&confirm=1&next=REDIRECT
只需将ACCESS_TOKEN
和REDIRECT
替换为适当的值即可。 Facebook时不时地改变它,所以你必须注意这一点。这只适用于浏览器,但这样做的好处是用户不必等待加载JavaScript库。
答案 2 :(得分:3)
您可以从facebook.API类(facebook.dll)的实例轻松完成此操作。 只需调用_api.LogOff()
即可答案 3 :(得分:2)
我的痛苦经历告诉我你必须有回报(假);在FB.Connect.logout()之后;打电话如下:
FB.Connect.logout(doOnUserLogout());返回(假);
否则它似乎正在注销,模态对话框说明了这一点,但它不会将用户注销。
我偶然发现了这个,因为它再次没有记录。
答案 4 :(得分:2)
似乎ConnectSession在Logout中没有任何代码。它只是
void Logout(){ }
没有任何东西。同样适用于Login(){}
所以基本上你需要使用java脚本版本
答案 5 :(得分:1)
是不是可以使用curl和preg_match(“/ a href = \”\ / logout.php(。*?)\“/”,$ page,$ logout_param);
...然后
curl_setopt($ ch,CURLOPT_URL,'http://m.facebook.com/logout.php'。$ logout_param [1]); curl_exec($ CH);
...
答案 6 :(得分:0)
至少在php api中有一个注销方法。为了使其正常工作,注销方法将用户重定向到facebook.com中的网址,然后将您重定向回您的网站
$ facebook-> logout(“http://site.com/returnAfterLogout.php”)
但是我发现在那个请求中,javascript api仍然认为 php api仍然认为他已登录,直到你尝试做api请求 举一个例外。
答案 7 :(得分:0)
我在Webview中使用以下方法执行此操作:
webview.loadUrl("http://www.facebook.com/logout.php?confirm=1");