Windows Phone 8 Facebook LoginWithApp больше не работает для меня

С сегодняшнего утра Facebook SDK больше не может войти в систему с помощью приложения Facebook. Когда я вызываю метод FacebookSessionClient.LoginWithApp(), найденный в C# SDK, он открывает Facebook, а затем переходит к открытию веб-фрейма с логином на веб-сайте Facebook. Когда учетные данные заполнены в веб-фрейме, приложение не будет выполнять обратный вызов исходному приложению, и, следовательно, вы больше не сможете войти в Facebook.

Я проверил это на двух устройствах, и оба не работают.

Кто-нибудь еще сталкивался с этой проблемой или это известная проблема с решением?

Это моя RelayCommand, вызывающая метод

public RelayCommand LoginButton
    {
        get
        {
            return _loginButton = _loginButton ??
                new RelayCommand(() =>
                    {
                        var fbSessionClient = new FacebookSessionClient("app_id");
                        fbSessionClient.LoginWithApp("email,basic_info,user_friends", "secret_string");
                    });
        }
    }

Мой обработчик UriMapperBase

    class FacebookAppAuthenticationHelper : UriMapperBase
{
    public override Uri MapUri(Uri uri)
    {
        return new LoginViewModel().MapUri(uri);
    }
}

Обработчик обратного вызова My Facebook URI

public Uri MapUri(Uri uri)
    {
        // if URI is a facebook login response, handle the deep link (once per invocation)
        if (AppAuthenticationHelper.IsFacebookLoginResponse(uri))
        {
            FacebookSession session = new FacebookSession();

            try
            {
                session.ParseQueryString(HttpUtility.UrlDecode(uri.ToString()));

                // Handle success case
                FacebookAuthorized = true;

                // do something with the custom state parameter
                if (session.State != "secret_string")
                {
                    //nop
                }
                else
                {
                    // save the token and continue (token is retrieved and used when the app is lauched)
                    FacebookSettings.AccessToken = session.AccessToken;
                    FacebookSettings.FacebookId = session.FacebookId;
                    FacebookSettings.TokenExpires = session.Expires;
                }
            }
            catch (Facebook.FacebookOAuthException)
            {
                if (!this.facebookLoginHandled)
                {
                    // Handle error case
                    this.facebookLoginHandled = true;
                    // return to a different uri
                    FacebookSettings.FacebookId = null;
                    FacebookSettings.AccessToken = null;
                    FacebookSettings.TokenExpires = DateTime.MinValue;
                }
            }
            FacebookSettings.Save();
            return new Uri("/View/MainPage.xaml", UriKind.Relative);
        }

        // by default, navigate to the requested uri
        return uri;
    } 

person Meryn    schedule 02.10.2014    source источник
comment
Можете ли вы поделиться своим кодом?   -  person bfontaine    schedule 02.10.2014
comment
Я добавил свой код, как я уже сказал, он перестал работать только сегодня утром. Я не менял этот код с прошлой недели.   -  person Meryn    schedule 02.10.2014


Ответы (1)


Похоже, эта проблема была на стороне Facebook и исправлена ​​сегодняшним обновлением.

person Meryn    schedule 03.10.2014