c# - WP8 - Facebook 登录问题

标签 c# facebook windows-phone-8 facebook-c#-sdk

我正在尝试使用 Windows Phone 8 上的 Facebook C# SDK 对 Facebook 上的用户进行身份验证。为此,我遵循此处的代码:FacebookLoginPage.xaml.cs

但我面临的问题是,每当我在打开的对话框中输入用户名和密码以验证用户身份时,我只会看到以下页面:

WP8 FB Login Prob

在此之后,我的程序不会重定向到作为单独 View 的着陆页。我看到的其他建议 Conceal WebView 的解决方案不适用,因为身份验证被抽象为单个 LoginAsync 函数调用。 有什么建议吗?

最佳答案

当 FB 检测到 Windows Phone 网络浏览器控件时,它似乎对其重定向脚本进行了一些更改。

C# SDK 所做的是将登录页面生成为“http://www.facebook.com ....”。当您在网络浏览器控件上打开此 URL 时,它会被重定向到“http://m.facebook.com ...”,这会显示 FB 登录页面的移动版本。

这以前没有问题,但最近,当 FB 进行重定向时,它还会从 URL 中删除参数“display=page”。然后发生的事情是,当成功登录 FB 时,将打开没有此参数的“login_success.html”页面。如果不传入“display=page”参数,则默认为“display=touch”。不幸的是,该 URL 没有在 URL 中附加 token 字符串,因此显示了第一个线程中显示的页面。

解决方法是,不使用下面的代码生成登录 URL,而是将其修改为

原创:

Browser.Navigate(_fb.GetLoginUrl(parameters));

修正:

var URI = _fb.GetLoginUrl(parameters).toString().replace("www.facebook.com","m.facebook.com");
Browser.Navigate(new Uri(URI));

关于c# - WP8 - Facebook 登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782579/

相关文章:

c# - 无法使用数据注释

Android Opengraph Like 按钮实现

Facebook实时更新应用墙

c# - c# 编译器是否优化 Count 属性?

c# - 构造类的属性只能在构造函数中设置,但在哪里?

python - 使用 Django/Python 为 Facebook 应用程序创建一个 Like-Gate(显示选项卡)

windows-phone-8 - Web 服务 'System.ServiceModel.XmlSerializerFormatAttribute' 不包含 'Style' 的定义

c# - 将 XNA 4.0 解决方案升级到 MonoGame

com - 无法将对 COM dll 的引用添加到 WP8 项目

c# - NotifyIcon ContextMenu 和太多点击事件