5

Po pierwsze, chcę zauważyć, że nie chcę żądać pozwolenia rozszerzonego offline_access. Jest tam z jakiegoś powodu, ale to nie jest to.Jak uzyskać nowy token dostępu po wygaśnięciu bez przeładowania strony?

Tworzę aplikację html5 przy użyciu interfejsu API JavaScript Javascript. Użytkownik jest na jednej stronie przez długi czas gra. Dostaję token dostępu na początku przepływu za pomocą FB.getLoginStatus, ale ten token wygasa w pewnym momencie, więc nie jestem w stanie zapytać użytkownika o Facebooka.

Próbowałem nazywając FB.getLoginStatus ponownie, gdy pierwszy znak nie, ale to nie wydaje się być dając mi nowy żeton dostępu.

Czy to jedyny sposób na ponowne załadowanie strony? Trochę jest do bani, ponieważ stan użytkownika jest zakłócony.

Odpowiedz

4

FB.getLoginStatus będzie ponowne uwierzytelnianie użytkownika do aplikacji i daje nowy token dostępu do pracy. Powinieneś być w stanie uzyskać nowy token z response.authResponse.accessToken.

Czy pojawia się jakiś konkretny błąd po awarii pierwszego tokena?

+0

Dzięki Jordan. Czy istnieje sposób wcześniejszego odświeżenia tego ręcznie? Powiedz raz na 15 minut? Mam setInterval, który wywołuje FB.getLoginStatus co kilka minut, ale myślę, że musi się zdarzyć, że użytkownicy wywołują z tokenem wygasł przed wywołaniem FB.getLoginStatus z kluczem wygasł. Możliwość uzyskania nowego z wyprzedzeniem byłaby dużą pomocą. –

+1

To, co prawdopodobnie powinno zrobić twoja aplikacja, to obsługa wyjątków, próbując ponownie uwierzytelnić się przy pomocy FB.getLoginStatus, zamiast próbować wywłaszczyć. Logika byłaby: próba interakcji FB. Jeśli interakcja się powiedzie, świetnie. Jeśli interakcja się nie powiedzie, spróbuj FB.getLoginStatus(), aby ponownie uwierzytelnić, a następnie spróbuj ponownie interakcji FB. – Jordan

+0

Roger. Spróbuję. Dzięki. –

Powiązane problemy