Раньше я мог создавать элемент управления 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 года? Может быть, это проблема IE9?
Странно то, что я могу вручную отправить обычный браузер 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;
}
}