Facebook WPF应用程序使用WebBrowser注销

时间:2018-04-01 01:50:46

标签: c# wpf facebook webbrowser-control logout

我正在为我在大学的高级设计项目开发一个Facebook WPF应用程序。在此之前,我从未用C#编写代码或开发过WPF应用程序。现在我正在尝试实现注销功能。我正在使用WebBrowser执行此操作,文档似乎表明执行此操作的方法是导航到:

https://www.facebook.com/logout.php?next={redirectURI}&access_token={token}

在浏览器中,花括号中的部分是变量。出于某种原因,每次我这样做时,它都会让我回到Facebook主页(新闻Feed)。这是由于近年来Facebook的变化还是我的错误?也可以理解通过Web浏览器注销的替代方法,例如替代的注销URL。

1 个答案:

答案 0 :(得分:0)

使用FB SDK V6,有一些细微差别。我将深入研究您需要在代码中验证的一些内容。您的代码可能以前可以使用,但今天您应该进行以下更改,假设您还没有:

  1. 您的代码中的redirectURI需要更改为" http://www.facebook.com"。标准重定向URI(包括与您的访问令牌生成相关的URI)似乎不再起作用。

  2. 您还需要确保您的redirectURI是绝对URI。有一种非常简单的方法,我将在下面的代码中显示。

  3. 将此代码整合在一起,此代码将通过WebBrowser对当前的FB C#SDK起作用:

    var fb = new FacebookClient();
    var logoutURL = fb.GetLogoutUrl(new { access_token = {userAccessToken}, next = "https://www.facebook.com/"});
    WebBrowser1.Navigate(logoutURL.AbsoluteUri);
    

    最后要注意的是,在我的代码中,我选择了logoutURL而不是硬编码。看起来在进行更改后,您的logoutURL仍然是正确的,但检索网址以帮助确保正确性可能会有所帮助。祝你的项目好运。