Facebook UserName WPF - PullRequest
       4

Facebook UserName WPF

1 голос
/ 28 января 2012

Это очень простой вопрос, я новичок в этом, и я не могу понять проблему, я пытаюсь получить имя пользователя и отобразить его в метке, когда я пытаюсь этот код получить токен доступа, который не вводите условие: он входит в событие (browser_navigated), но не в Условия, в, кто-нибудь знает, в чем проблема?

private void webBrowser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
        FacebookOAuthResult result;

        if (FacebookOAuthResult.TryParse(e.Uri, out result))
        {       
            if (result.IsSuccess)
            {
                var accesstoken = result.AccessToken;
            }
            else
            {
                var errorDescription = result.ErrorDescription;
                var errorReason = result.ErrorReason;
            }
        }

1 Ответ

2 голосов
/ 21 февраля 2012

В браузере wpf есть досадная ошибка, которая игнорирует все после #.(Это только для элементов управления веб-браузера, основанных на wpf, поэтому он присутствует также в элементах управления silverlight и wp7.)

Facebook возвращает маркер доступа как часть фрагмента URL.

https://url.com#access_token=....

Из-за ошибки, когда вы передаете e.Uri в качестве параметра, он не разделяется #access_token=.., поэтому fb c # sdk считает, что это недопустимый URL-адрес обратного вызова oauth, и поэтому TryParse всегда возвращает false.* Решение: Либо используйте браузер winforms для входа в систему, либо установите response_type в качестве code token, а затем обменяйте код для токена доступа.

...