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.);
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
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. –
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? –