Creazione Access Token per pagine senza scadenza

Per prima cosa bisogna collegarsi al tool explorer messo a disposizione da facebook Graph API Explorer.
Si deve aver creato un app facebook.
una volta entrati si setta l'applicazione che si vuole interfacciare con una pagina, si richiede sul menu a destra il token di accesso dell'app
a questo punto va settata la pagina per la quale si vuole pubblicare, bisogna che l'admin dell'app sia l'admin della pagina, o comunque abbia permessi di creazione post. Infine si richiedono i permessi pubblish_page. Una volta avuto il token che comparira nel campo apposito access token,
cliccando sulla i a sinistra del token si aprirà una finsetra indicante la tipologia di token e le sue caratteristiche, sara un token page però di tipo a scadenza limitate, aprendo il token nel debugger comparira anche un pulsante per estendere la scadenza illimitatamente, basta cliccare e si genererà al di sotto un nuovo token, se lo aprite nel debugger potrete osservare che si tratterà stavolta di un token senza scadenza utile per collegare  eventuali pubblicazioni sul sito web alla pagina facebook tramite app facebook.

Per ottenere un token per utente che possa fare lo stesso bisogna seguire la procedura seguente.

1. Ottieni un User Short-Lived Access Token

  1. Graph API Explorer.
  2. Seleziona l'applicazione per la quale vuoi ottenere l'access token come detto prima.
  3. Clicca questa volta  "Get Token" > "Get User Access Token".
  4. Nella finestra popo up, sotto "Extended Permissions" tab, spunta "manage_pages".
  5. Clicca "Get Access Token".
  6. garantisci l'accesso da un account facebook che dispone dei permesse di gestione della pagina target.
  7. Come in precedenza il token comparirà nel campo "Access Token" ma sara un short-lived access token.

2. Generiamo un Long-Lived Access Token

Seguendo queste istruzioni dalla documentazione Facebook, creiamo una richiesta get o dal Graph Api explorer, oppure linkando semplicemente nel browser

https://graph.facebook.com/v2.12/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={short_lived_token}

inserendo negli spazi appositi i valori reali di {app_id} {app_secret} e lo {short_lived_token} recuperato precedentemente

Una volta ottenuta una risposta simile a questa:
                              {"access_token":"ABC123","token_type":"bearer","expires_in":5183791}

possiamo vedere che il nuovo token inserendolo nello Access Token Debugger avrà una scadenza di 2 mesi.

3. Ottieni User ID

Usiando un long-lived access token, recuperato al precedente punto, facciamo una richiesta GET a:

https://graph.facebook.com/v2.10/me?access_token=">https://graph.facebook.com/v2.10/me?access_token={long_lived_access_token}

otterremo una risposta json con l'account id.

4. Otteniamo il Page Access Token permanente

Facciamo una richiesta GET a:

https://graph.facebook.com/v2.10/">https://graph.facebook.com/v2.10/{account_id}/accounts?access_token={long_lived_access_token}

La risposta sarà un documento JSON rche elencherà tutte le pagine con gli access token permanenti, cioè senza scadenza, di cui adesso disporrà l'utente. Questi access token possono essere usati però solo avendo effettuato il log in su facebook, a differenza dei primi che invece funzioneranno tramite l'app.