在WP7中使用facebook c#sdk从facebook登出

时间:2012-07-19 10:13:38

标签: facebook windows-phone-7 facebook-graph-api facebook-c#-sdk windows-phone-7.1

我想在我的Windows手机应用程序中使用facebook C#sdk从facebook实现注销

我的主要问题是我们如何使用WP7中的Facebook C#SDK注销

我在搜索中找到了这篇文章

Article link

他正在尝试使用正则表达式找到注销网址,但这在我的应用中无效

当我尝试浏览器导航事件进入无限循环时

您可以在Windows Phone 7中分享与facebook logout相关的任何样本/帖子。

我希望退出应该在没有用户干预的情况下发生,点击一个按钮后他应该从facebook上下载,下次他应该看到登录页面

我也试过关注帖子/博客但没有用。

LINK 1

LINK 2这会在分割accessstoken

时出错

更新

LogOutButtonCode

 FacebookClient _fbClient = new FacebookClient(fbaccess.AccessToken);
        var logoutParams = new Dictionary<string, object>();
        logoutParams.Add("next", "https://www.facebook.com/connect/login_success.html");
        //logoutParams.Add("",)

        var logoutUrl = _fbClient.GetLogoutUrl(logoutParams);
        BrowserControl.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(BrowserControl_Navigated);

        BrowserControl.Navigate(new Uri(logoutUrl.AbsoluteUri));

导航事件代码

if (e.Uri.AbsoluteUri == "https://www.facebook.com/connect/login_success.html")
        {


            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }

e.Uri.AbsoluteUri返回https://www.facebook.com/home.php

我从服务器https://www.facebook.com/logout.php?next=https://www.facebook.com/connect/login_success.html

获取的注销网址

1 个答案:

答案 0 :(得分:4)

使用FacebookClient.Logout生成退出网址。

这是来自winforms sample的代码段,可以在wp7中进行一些修改。

    private void btnLogout_Click(object sender, EventArgs e)
    {
        var fb = new FacebookClient();

        var logoutUrl = fb.GetLogoutUrl(new
                                            {
                                                next = "https://www.facebook.com/connect/login_success.html",
                                                access_token = _accessToken
                                            });
        var webBrowser = new WebBrowser();
        webBrowser.Navigated += (o, args) =>
                                    {
                                        if (args.Url.AbsoluteUri == "https://www.facebook.com/connect/login_success.html")
                                            Close();
                                    };

        webBrowser.Navigate(logoutUrl.AbsoluteUri);
    }

确保在登录时将访问令牌保留在某处,因为需要注销。