C# 使用facebook注销

C# 使用facebook注销,c#,.net,facebook,C#,.net,Facebook,如果不使用fb登录按钮,我如何从我的facebook connect网站注销用户?我想从codebehind(c#)开始做这件事?我发现只有一个选项可以通过FB.logout()从Javascript完成这件事。似乎有点奇怪,codebehind没有API来做同样的事情。至少在php API中有一个注销方法。为了让它工作,注销方法将用户重定向到facebook.com中的url,然后将您重定向回您的站点 $facebook->注销(“”) 然而,我发现在该请求中,javascript api仍然

如果不使用fb登录按钮,我如何从我的facebook connect网站注销用户?我想从codebehind(c#)开始做这件事?

我发现只有一个选项可以通过
FB.logout()从Javascript完成这件事。似乎有点奇怪,codebehind没有API来做同样的事情。

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

$facebook->注销(“”)

然而,我发现在该请求中,javascript api仍然认为 PHPAPI仍然认为他已登录,并且在您尝试执行api请求之前,它将一直处于登录状态
提出一个例外

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

我痛苦的经历告诉我你必须返回(false);在FB.Connect.logout()之后;打电话进来:

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

否则,它看起来就像是在注销,模式对话框中会这样说,但它不会注销用户


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

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

void Logout(){ }
没有任何东西。对于
Login(){}


因此,基本上您需要使用java脚本版本

curl和preg\u match之类的东西(“/a href=\”\/logout.php(.*?\”/”,$page,$logout\u参数)不可能吗

然后

curl_setopt($ch,CURLOPT_URL,'http://m.facebook.com/logout.php“.$logout_param[1]); curl_exec($ch)


我是在网络视图中使用以下工具进行此操作的:

 webview.loadUrl("http://www.facebook.com/logout.php?confirm=1");

如果您只需要一个简单的链接来注销用户,您可以形成如下url:

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


只需将
ACCESS\u令牌
重定向
替换为适当的值即可。Facebook时不时地改变这一点,所以你必须小心。这只适用于浏览器,但这样做的好处是用户不必等待JavaScript库加载。

这是一个与.Net版本的facebook api相关的问题,而不是php。我假设您是从按钮/链接内部调用此方法的?如果是这样,那就是为什么需要“returnfalse”。facebook文档中没有缺少它-如果您想阻止链接/按钮的默认操作(例如href)执行,则需要返回false,否则它将在onclick处理程序完成之前导航。您在谈论什么facebook API类?我假设它是许多不使用OAuth2.0API的旧库之一。最新版本没有注销方法:他明确要求使用服务器端方法而不是Javascript。这对我不起作用,它甚至不能通过浏览器对我起作用。