2011-10-10 29 views
8


Android Aplikacja Facebook: token dostępu wygaśnięcie (expires_in) jest zawsze 0

Zajmuję się tworzeniem aplikacji, która wykorzystuje integrację Facebook. Próbuję odebrać tokeny access_token i expires_in z klas biblioteki Facebook. Po zalogowaniu się uzyskuję właściwość access_token poprawnie, ale zawsze otrzymuję token expires_in zawsze 0. Z tego powodu I isSessionValid() metoda zawsze zwraca wartość false. Uprzejmie proszę dać mi znać, jeśli ktoś ma do czynienia z tym problemem i rozwiązać go.

Mój kod działa doskonale, gdy nie mam zainstalowanej aplikacji Facebook w emulatorze. Dostaję przeglądarkę internetową i mogę się zalogować i zaktualizować status. Ale kiedy instaluję aplikację na Facebooku, kliknięcie opcji menu stanu aktualizacji otwiera aplikację Facebook, zostaje przekierowany na stronę uprawnień, a następnie pojawia się komunikat "Nie mogę odebrać tokena dostępu". Dzieje się tak ze względu na to, że expires_in token to 0.

Nie chcę prosić użytkowników aplikacji o odinstalowanie aplikacji Facebooka, jeśli została ona zainstalowana. uprzejmie pozwól mi rozwiązać ten problem.

Dzięki,
Punit

+0

Jeśli umieścisz uprawnienie 'offline_access', termin ważności tokena wynosi 0 –

+0

Początkowo używałam" offline_access ". Teraz go zdjąłem, nadal mam wartość expires_in jako 0. Czy zmiana w uprawnieniach wymaga czasu na refleksję? – Gadenkan

+2

Gotowy do pracy. Musiałem zalogować się na Facebooku i odwołać pozwolenie 'offline_access', aby działało. Wielkie dzięki @ adil-soomro – Gadenkan

Odpowiedz

14

Jeśli umieścisz pozwolenie offline_access token wygaśnięcie 0.

Dla dowolnego innego posiadającego ten problem (jeśli włożył offline_access pozwolenie i później usunięta) wykonaj następujące czynności:

  • Przejdź do ustawień profilu na Facebooku i usuń aplikację.
  • , a następnie zaloguj się ponownie.
  • Ponownie utwórz pozwolenie na swoją aplikację.

Alternatywnie można to zrobić:

  • Przejdź do ustawień profilu na Facebooku> Aplikacje>Your_App i usunąć "dostęp do moich danych dowolnym czasie" zgody.
  • Zapisz wprowadzone zmiany.
  • Ponownie uruchom Your_App (tj. Bez zgody na offline_access).
+0

Dzięki, to szukałem :) Ale kiedy użyłem facebook sdk z dostępem do moich danych w każdej chwili działało dobrze z Androidem 2.1 i wyżej aż do Androida 4.0, ten problem widziałem tylko po Androidzie 4.0 i nowszym – Zoombie

0

Czy wspomniano klawisz krzyżyka w aplikacji utworzonej na Facebooku? Jeśli nie, utwórz prawidłowy i wspomnij o nim. Zwykle dzieje się tak z powodu nowych funkcji aktualizacji facebooka, jednak starsze wersje facebooka działają za każdym razem dobrze. Możesz to sprawdzić, odinstalowując aktualizacje aplikacji Facebook i uruchamiając swój kod. Nadal działa dobrze. Dowiedz się więcej z here

+0

Użyłem prawidłowego Key Hash. Odinstalowywanie aktualizacji nie pomaga. – Gadenkan

+0

Dostaję prawidło dostępu poprawnie. Dostaję tylko expires_in jako 0. Chcę wiedzieć, jak uzyskać prawidłową wartość expires_in. – Gadenkan

Powiązane problemy