WP8 - Facebook登录问题

var*_*wal 3 c# facebook facebook-c#-sdk windows-phone-8

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

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

WP8 FB登录问题

在此之后,我的程序不会重定向到Landing页面,这是一个单独的视图.我看到的其他解决方案建议隐藏WebView不适用,因为身份验证被抽象为单个LoginAsync函数调用.有关该怎么办的任何建议?

小智 6

当它检测到Windows Phone webbrowser控件时,FB似乎对其重定向脚本进行了一些更改.

C#SDK的作用是生成登录页面为" http://www.facebook.com ....".当您在webbrowser控件上打开此URL时,它会被重定向到" http://m.facebook.com ...",它会显示FB登录页面的移动版本.

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

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

原版的:

Browser.Navigate(_fb.GetLoginUrl(parameters));
Run Code Online (Sandbox Code Playgroud)

ammended:

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