1

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

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

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

文章链接

他正在尝试使用正则表达式查找注销网址,但这在我的应用程序中不起作用

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

您可以在 windows phone 7 中分享与 facebook 注销相关的任何示例/帖子。

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

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

链接 1

LINK 2拆分访问令牌时出现错误

更新

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

我从服务器获取的注销 URLhttps://www.facebook.com/logout.php?next=https://www.facebook.com/connect/login_success.html

4

1 回答 1

4

用于FacebookClient.Logout生成注销 url。

这是来自winforms 示例的片段,可在 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);
    }

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

于 2012-07-19T14:14:06.047 回答