我以前能够创建WebBrowser控件,导航到登录URL(例如“http://www.facebook.com/dialog/oauth/?response_type=token & display = popup & scope = user_about_me & client_id = 179873125388138 & redirect_uri = http%3a%2f%2fwww.facebook.com%2fconnect%2flogin_success.html“),然后使用下面的代码(来自Facebook-C#-SDK示例代码)捕获Navigated事件并提取访问令牌。但是,最近似乎这只是重定向到RedirectURL,并没有附加访问令牌。 Facebook在2011年2月和6月之间如何处理认证流程,是否发生了一些变化?也许这是一个IE9问题?Facebook客户端流程是否仍然提供访问令牌?
奇怪的是,我可以手动发送一个常规的IE9浏览器到相同的URL和访问令牌附加罚款。只有当我以编程方式使用WebBrowser.Navigated事件执行此操作时,我不再看到该令牌。
谢谢,乔恩
private void webBrowser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
FacebookOAuthResult oauthResult;
if (FacebookOAuthResult.TryParse(e.Uri, out oauthResult))
{
this.FacebookOAuthResult = oauthResult;
this.DialogResult = oauthResult.IsSuccess;
}
else
{
this.FacebookOAuthResult = null;
}
}
听起来像http://stackoverflow.com/questions/6477231/facebook-connect-strange-issue –
也http://stackoverflow.com/questions/6487261/wpf-webbrowser-detecting-redirects –
怀疑这可能是http://facebooksdk.codeplex.com/discussions/261528 ...调查 –