5

Innanzitutto, desidero notare che non desidero richiedere l'autorizzazione estesa offline_access. È lì per una ragione, ma non è così.Come si ottiene un nuovo token di accesso dopo la scadenza senza una ricarica della pagina?

Sto creando un'app html5 utilizzando l'API Javascript di Facebook. L'utente è su una singola pagina per molto tempo a giocare. Ricevo un token di accesso all'inizio del flusso con FB.getLoginStatus ma questo token scade a un certo punto e quindi non sono in grado di interrogare Facebook per l'utente.

Ho provato a chiamare FB.getLoginStatus di nuovo quando il primo token ha esito negativo, ma questo non sembra darmi un nuovo token di accesso.

È l'unico modo per ricaricare la pagina? Tipo di schifo perché lo stato dell'utente è interrotto.

risposta

4

FB.getLoginStatus consente di autenticare di nuovo un utente nell'applicazione e fornirà un nuovo token di accesso con cui lavorare. Dovresti essere in grado di ottenere il nuovo token da response.authResponse.accessToken.

Si riceve un errore particolare dopo il primo errore del token?

+0

Grazie Jordan. C'è un modo per aggiornare manualmente questo manualmente? Dì una volta ogni 15 minuti? Ho un setInterval che chiama FB.getLoginStatus ogni pochi minuti, ma penso che ciò che deve accadere è che gli utenti chiamano con il token scaduto prima che FB.getLoginStatus venga chiamato con la chiave scaduta. Essere in grado di ottenerne uno nuovo in anticipo potrebbe essere di grande aiuto. –

+1

Ciò che probabilmente l'applicazione dovrebbe fare è gestire eventuali eccezioni provando a riautenticare con FB.getLoginStatus, piuttosto che provare a prevenirlo. La logica sarebbe: tentare l'interazione FB. Se l'interazione ha successo, bene. Se l'interazione non riesce, provare FB.getLoginStatus() per eseguire nuovamente l'autenticazione e quindi tentare nuovamente l'interazione FB. – Jordan

+0

Roger. Ci proveremo. Grazie. –