【发布时间】:2011-09-08 14:06:35
【问题描述】:
我正在尝试添加一个用于注销的功能,该功能在 ApplicationBarMenuItem 的单击事件中调用,遵循the instructions on this blog
这是我的代码的样子:
var oauth = new FacebookOAuthClient();
var logoutParameters = new Dictionary<string, object>
{
{ "next", "http://www.facebook.com" }
};
var logoutUrl = oauth.GetLogoutUrl(logoutParameters);
LayoutRoot.Children.Add(FacebookLoginBrowser);
FacebookLoginBrowser.Navigate(new Uri(logoutUrl.AbsoluteUri, UriKind.Absolute));
我期望这段代码会在 Navigated 事件完成时将用户从 Facebook 注销,然后显示参数中传递的任何 URL(在本例中为 facebook.com)。但是,我看到的是它总是加载“http://m.facebook.com/”,无论传入什么,它都不会注销 Facebook。我不在乎它之后加载了什么(那会很棒,但此时我只希望它执行注销操作,以便用户在再次启动我的应用程序时可以退出并登录)。我可以成功注销用户的唯一方法是,如果他们了解页面加载时需要向下滚动、放大并在页面底部手动单击“注销”——这不是可接受的用户体验。
我还从该博客下载了示例代码,它的功能大致相同。
我见过 this 和 this post 并且使用的 URL 非常接近 oath.GetLogoutUrl(logoutParameters) 返回的内容,但我尝试构建具有相同结果的确切 URL:
var logoutUrl = new Uri("https://www.facebook.com/logout.php?next=http://www.facebook.com&access_token="+fbClient.AccessToken);
这绝对是我的应用程序的船闸,所以任何人都可以提供任何帮助或建议将不胜感激!
【问题讨论】:
标签: silverlight facebook windows-phone-7 facebook-c#-sdk logout