Seguendo le istruzioni riportate nella documentazione relativa ai token di pagina estesa di Facebook sono stato in grado di ottenere un token di accesso alla pagina che non scade.
Suggerisco di utilizzare Graph API Explorer per tutti questi passaggi, salvo dove diversamente indicato.
0. Crea l'app di Facebook
Se hai già un'app , vai al passaggio 1.
- Vai a Le mie app .
- Fai clic su "+ Aggiungi una nuova app".
- Configura un'app per siti Web.
Non è necessario modificarne le autorizzazioni o altro. Hai solo bisogno di un'app che non andrà via prima di aver finito con il tuo token di accesso.
1. Ottieni token di accesso di breve durata per l'utente
- Vai a Graph API Explorer .
- Seleziona l'applicazione per cui desideri ottenere il token di accesso (nel menu a discesa "Applicazione", non nel menu "Le mie app").
- Fai clic su "Ottieni token"> "Ottieni token di accesso utente".
- Nel pop-up, sotto la scheda "Autorizzazioni estese", seleziona "manage_pages".
- Fai clic su "Ottieni token di accesso".
- Concedi l'accesso da un account Facebook che ha accesso per gestire la pagina di destinazione. Se l'utente perde l'accesso al token di accesso finale, che non ha scadenza, probabilmente smetterà di funzionare.
Il token che appare nel campo "Token di accesso" è il token di accesso di breve durata.
2. Genera token di accesso longevo
Seguendo queste istruzioni dai documenti di Facebook, fai una richiesta GET a
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id} & client_secret = {app_secret} & fb_exchange_token = {short_lived_token}
inserendo l'ID e il segreto dell'app e il token di breve durata generato nel passaggio precedente.
Non è possibile utilizzare Graph API Explorer . Per qualche motivo rimane bloccato su questa richiesta. Penso che sia perché la risposta non è JSON, ma una stringa di query. Dal momento che è una richiesta GET, puoi semplicemente andare all'URL nel tuo browser.
La risposta dovrebbe apparire così:
{"access_token": " ABC123 ", "token_type": "bearer", "expires_in": 5183791}
"ABC123" sarà il tuo token di accesso di lunga durata. È possibile inserirlo nel Debugger token di accesso per verificare. Sotto "Scade" dovrebbe avere qualcosa come "2 mesi".
3. Ottieni l'ID utente
Utilizzando il token di accesso di lunga durata, invia una richiesta GET a
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
Il id
campo è il tuo ID account. Ne avrai bisogno per il prossimo passo.
4. Ottieni il token di accesso permanente alla pagina
Invia una richiesta GET a
https://graph.facebook.com/v2.10/ {account_id} / account? access_token = {long_lived_access_token}
La risposta JSON dovrebbe avere un data
campo in cui è presente una matrice di elementi a cui l'utente ha accesso. Trova l'elemento per la pagina da cui desideri il token di accesso permanente. Il access_token
campo dovrebbe avere il tuo token di accesso permanente. Copiarlo e testarlo nel Debugger token di accesso . In "Scadenza" dovrebbe essere indicato "Mai".