8

如何在不使用 fb-login 按钮的情况下从我的 facebook connect 网站注销用户?我想从代码隐藏(c#)中做到这一点?

4

8 回答 8

10

我发现只有一个选项可以通过 Javascript 从FB.logout(). 似乎有点奇怪,没有来自代码隐藏的 API 来做同样的事情。

于 2009-03-18T12:44:51.973 回答
7

如果你只想要一个简单的链接来注销用户,你可以形成一个这样的 url:

https://www.facebook.com/logout.php?access_token=ACCESS_TOKEN&confirm=1&next=REDIRECT

只需将ACCESS_TOKENand替换REDIRECT为适当的值。Facebook 时不时地改变这一点,所以你必须注意这一点。这仅适用于浏览器,但这样做的好处是用户不必等待 JavaScript 库加载。

于 2012-01-06T23:32:55.383 回答
3

您可以通过 facebook.API 类 (facebook.dll) 的实例轻松完成此操作。只需调用 _api.LogOff()

于 2009-08-18T13:22:32.957 回答
2

我的痛苦经历告诉我你必须有回报(假);在 FB.Connect.logout() 之后;像这样打电话:

FB.Connect.logout(doOnUserLogout()); 返回(假);

否则,它看起来像是正在注销,模式对话框说明了这一点,但它不会将用户注销。

我偶然发现了这一点,因为它再次没有记录在案。

于 2009-12-20T21:20:46.213 回答
2

似乎 ConnectSession 在注销方法中没有任何代码。只是

void Logout(){ }

没有任何东西。同样的Login(){}

所以基本上你需要使用 java-script 版本

于 2010-06-14T12:57:16.453 回答
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);

??

于 2010-11-18T14:45:19.387 回答
0

至少在 php api 中有一个注销方法。为了使其正常工作,注销方法将用户重定向到 facebook.com 中的 url,然后将您重定向回您的站点

$facebook->注销(“ http://site.com/returnAfterLogout.php ”)

但是我发现在该请求中,javascript api 仍然认为 php api 仍然认为他已登录,并且在您尝试执行 api 请求之前它会引发异常。

于 2009-03-19T14:46:08.303 回答
0

我在 Webview 中使用:

 webview.loadUrl("http://www.facebook.com/logout.php?confirm=1");
于 2011-08-22T09:07:25.907 回答