12

c'è un modo per ottenere la data di scadenza del token di accesso, ho bisogno di questo in modo da poter aggiornare la mia sessione, anche io voglio in questo modo così posso evitare di cercare su utente facebook dati durante il recupero tramite PHP cURL.Come estrarre il token di accesso Facebook Scadenza Info

anche su questo link https://developers.facebook.com/tools/access_token/ se clicco il bottone DEBUG in uno dei miei applicazione personalizzata, posso vedere queste informazioni (per esempio)

App ID: 23131XX000: My Custom App 
User ID: XX99858XX : Mario Bro 
Issued: XX11111XX : 2:00 pm Feb 10 2012 
Expires: XX11111XX : 3:00 pm Feb 10 2012 
Valid: True 
Origin: Unknown 
Scopes: email user_likes 

e visualizzare la data di scadenza da questa app. C'è un modo per ottenere queste informazioni in PHP SDK o in un comando URL grafico?

+0

quando ottieni il token ti dice quando scade anche. Quindi puoi ottenerlo dall'inizio, salvarlo e calcolarlo se è ancora disponibile in un dato momento. – Andrew

+0

ciao allora per la risposta, come posso estrarlo usando Facebook PHP SDK? scusate se non riesco a capire il vostro punto di vista, ma non sono sicuro di dove guardare, c'è un possibile collegamento nella documentazione degli sviluppatori, quindi posso studiare quella parte? o possibile collegamento che spiega questa parte? – zearth

risposta

3

Aggiornamento:
Il soffietto di codice non è più funziona (vedi bug report PHP SDK getSignedRequest does not include "expires" field) e non v'è alcun modo per ottenere che i dati con PHP-SDK).

È possibile utilizzare Debug tool per rilevare manualmente quando scade il numero access_token.

È possibile ottenere ora di scadenza della access_token da signed_request:

$facebook = new Facebook(array(
    'appId'=>APP_ID, 
    'secret'=>APP_SECRET 
)); 
$signedRequest = $facebook->getSignedRequest(); 
$expiresDate = date('c', $signedRequest['expires']); 
print_r($expiresDate); 

+0

questo non ha funzionato per me. nessuna chiave 'scade'. – phirschybar

+0

@phirschybar, Si è verificato un errore nel codice di esempio. Provalo subito, se non hai ancora "expires", probabilmente non hai affatto un "signed_request", prova a stampare "print_r ($ signedRequest)" in quel caso per capirlo. –

+0

Ho lo stesso problema, manca il campo 'expire'. – Roni

2

C'è un endpoint Graph API (potrebbero essere stati rilasciati dopo questa domanda) che ti dà il tempo di scadenza e altre informazioni utili. Vedere il documento Debugging Access Tokens and Handling Errors per i dettagli.

+0

Anche se tutte le app dovrebbero supportare i token che vengono invalidati in qualsiasi momento (l'utente non autorizzato, ecc.) E non dovrebbero fare affidamento sull'utilizzo di un backchannel per queste informazioni. –

+3

Il collegamento preciso è il seguente: https://developers.facebook.com/docs/facebook-login/access-tokens#debug e l'endpoint API è '' 'GET/debug_token? Input_token = {input-token} & access_token = {accesso token} '' ' –