2013-01-17 14 views
7

widzę nowe wersja Facebooku SDK (3.0), które przestarzałym stare Facebook klasę i wprowadza nowy sposób logowania się przy użyciu Session klasę.nie mogę się zalogować z nowej wersji 3.0 z facebook SDK dla Androida

szybko napisał prostą aplikację przy użyciu nowego logowania API:

public class MainActivity extends Activity { 

private Session mFacebookSession; 

private StatusCallback fbStatusCallback = new StatusCallback() { 
    @Override 
    public void call(Session session, SessionState state, Exception exception) { 
     Log.v("dbg", "state: " + state); 
     Log.v("dbg", "session: " + session); 
    } 
}; 

public void bc(View view) 
{ 
    mFacebookSession = Session.openActiveSession(this, true, fbStatusCallback); 
} 
//etc.. 
} 

Wywołanie zwrotne powinny uzyskać wywołana dwukrotnie, najpierw do niszczenia rzeczywista sesji tokena i drugi dla uzyskania nowego tokenu dostępu. Oczywiście, mój identyfikator aplikacji jest ustawiony jako meta-dane w moim pliku manifestu, itp.

Po uruchomieniu kodu pojawia się okno logowania do Facebooka, wprowadzam nazwę użytkownika i hasło, a następnie je zamykam.

Jednak w moim dzienniku widzę tylko to:

01-17 03:28:01.587: V/dbg(7002): state: OPENING 
01-17 03:28:01.587: V/dbg(7002): session: {Session state:OPENING, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[]}, appId:xxxxxxxxxxxxxxx} 

W rezultacie, gdy próbuję zadzwonić mFacebookSession.getAccessToken() dostaję pusty ciąg (nie null).

Co wydaje się być problemem?

JAK rozwiązać ten (później)

I zastąpione onActivityResult i nazywany Session.getActiveSession() onActivityResult (to requestCode, ResultCode, danych.);

+1

Czy jesteś 100% pewni, Twój AppID jest prawidłowy i poprawnie skonfigurowałeś aplikację facebook? Miałem podobny problem i przyszło mi do głowy używając identyfikatora innej mojej aplikacji na facebook'u. – seaplain

+0

Cóż, okno logowania wyświetla moją nazwę aplikacji i jeśli dodam jakieś uprawnienia (znalazłem również sposób na ich dodanie, ale nie zawierałem w tym kodzie, aby wszystko było proste, aby każdy mógł je zrozumieć), są one również wyświetlane poprawnie. –

+0

hmm .. Zdaję sobie teraz sprawę, że w sekcji * Natywna aplikacja na Androida "nie wstawiłem żadnego skrótu. Ale dlaczego nie otrzymam wyjątku przez wywołanie zwrotne? –

Odpowiedz

1

Im po prostu zamiar umieścić to tutaj dla nikogo innego:

Facebook SDK jest naprawdę straszne w powiadomieniem zapomniałeś coś. Jeśli to nie działa, sprawdź dokładnie swoją aplikację na Facebooku i upewnij się, że nie zapomniałeś czegoś lub wprowadziłeś niewłaściwe wartości. W moim przypadku AppID niesłusznie przypadku Sterpu Mihai za to był hash key

+0

Nie wiem, że to hash, nie przetestowałem go :) Wrzucę każdą aktualizację, kiedy wiem na pewno –

+0

Znalazłem to również na forum: * Nie udało mi się uzyskać klucza hasha dla Androida ale facebook wydaje się działać tak czy inaczej * :) –

Powiązane problemy