gpt4 book ai didi

silverlight - 当用户未在 Windows Phone 7 上登录 Facebook 时出现 HTTP 500 错误

转载 作者:行者123 更新时间:2023-12-04 02:36:45 24 4
gpt4 key购买 nike

我已经将我的 Silverlight WP7 应用程序设置为使用 WebBrowser 控件来允许用户登录 facebook 并授予进一步操作的权限。用户授予权限后,他们将被重定向到一个网页,让他们知道权限已被授予。

链条如下:

App -> opens WebBrowser control at web service #1 -> web service redirects to FB -> Permissions granted -> FB redirects to web service #2 which returns a view.

Web 服务都在外部托管的 MVC 项目中。

这一切都很好,除非用户没有登录到 facebook - 而不是像你期望的那样将他们带到 facebook 登录页面,我只是收到 HTTP 500 内部服务器错误并且没有命中 web 服务 #2。如果用户已登录,那么一切都会照常进行。

我还会提到这只发生在 WP7 设备上,不会发生在我笔记本电脑上的任何浏览器中,包括 IE9。

编辑:为了清楚起见,我的笔记本电脑上的 Web 浏览器通过在 Visual Studio 中调用我的 WebBrowser 控件之前设置断点进行了测试,我抓取了我在那里构建的 Uri,并将其粘贴到Chrome、IE9等

我什至不确定该往哪个方向看!另外,我相信你们可能需要更多详细信息来帮助您解决这个问题 - 请告诉我您可能还需要什么,我会尽力提供。

最佳答案

此代码导致问题。

// Constants.URL_FACEBOOK_LOGIN contains the parameter "display=touch|wap"
_popUpBrowser.Navigate(new Uri(Constants.URL_FACEBOOK_LOGIN));

这段代码解决了这个问题。

// Constants.URL_FACEBOOK_LOGIN contains the parameter "display=touch|wap"
string userAgent = "User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7";
_popUpBrowser.Navigate(new Uri(Constants.URL_FACEBOOK_LOGIN), null, userAgent);

为什么?

因为 Facebook 目前在 Windows Phone 7 User-Agent 值以及“touch”和“wap”的显示参数值出现在同一请求中时存在问题。因此,在使用 WebBrowser 控件时只需发送一个备用的 User-Agent header 即可暂时解决该问题。

我希望这对其他在连接 Facebook Graph API 时遇到讨厌的 500 错误的 Windows Phone 7 开发人员有所帮助。

关于silverlight - 当用户未在 Windows Phone 7 上登录 Facebook 时出现 HTTP 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com