大家。今天我在Windows Phone App中遇到以下消息:
成功
安全警告:请将您的密码视为您的密码,不要与任何人共享。
当我的用户通过Web浏览器控件登录时会发生这种情况,该控件从GetLoginUrl
方法Facebook SDK
获取{{1}}方法的登录网址。这个问题不仅发生在我的应用程序中,我看到其他应用程序的用户遇到了同样的问题。
有人找到了解决方法吗?
我在 PictureWeather (Windows Phone 7& Windows Phone 8)和 Picture2Cams (Windows Phone 8)应用中运行此SDK。
答案 0 :(得分:5)
有同样的问题。在我的应用程序中,我更改了这一行:
参数[“redirect_uri”] =“https:// www .facebook.com / connect / login_success.html”;
到这一行:
参数[“redirect_uri”] =“https:// m .facebook.com / connect / login_success.html”;
它现在有效。
答案 1 :(得分:0)
使用Facebook SDK for Windows Phone(http://facebooksdk.net/docs/phone/)在我们的WP8应用程序上遇到同样的问题,并且更改重定向URL的指示解决方案也适用于我们。
感谢您提交此解决方案。
答案 2 :(得分:0)
我自己遇到了这个问题,并且做了一些挖掘以找到问题的根源。这个问题似乎源于Facebook方面的一些未知(对我而言)改变,以前认证响应URL的形式为
https://www.facebook.com/connect/login_success.html#access_token= ...
由于某种原因,它现在从登录流程返回
https://www.facebook.com/connect/login_success.html#?access_token= ...
FacebookSDK.NET中的代码在LoginPage.xaml.cs的第104行与简单的Uri相等测试进行比较
if (e.Uri == WebAuthenticationBroker.EndUri)
当问号出现在中间时,无法返回true。我希望Facebook会因为太多东西破坏而纠正这个问题,但与此同时,一个非常干净的解决办法是从GIT而不是NuGet获取FacebookClient来源并将比较改为此
UriBuilder clean = new UriBuilder(e.Uri);
clean.Query = "";
if (clean.Uri == WebAuthenticationBroker.EndUri)
然后代码运行得很好,但在查看documentation on their developer site时,这似乎最终是Facebook的错误。
我希望这可以帮助其他人,我报名参加Stackoverflow只是为了发表这篇文章。 :)
答案 3 :(得分:0)
使用最新的facebook sdk for windows phone。这个问题在最新的sdk中得到了解决。我正在使用Facebook.Client 0.8.2-alpha,它的工作效果很好。我关注了http://nuget.org/packages/Facebook.Client和http://facebooksdk.net/docs/phone/controls/login-ui-control
答案 4 :(得分:-1)
我想他这样做的唯一方法是从他们的官方Github(Facebook和Facebook.Client)下载这两个项目并在你的应用程序中引用它们而不是使用你可以从Nuget获得的DLL
有了这两个项目,您可以在文件FacebookSessionClient中的Facebook.Client项目上更改此参数。然后构建所有项目并运行。
然而,这个解决方案对我也没有用。