Obiettivo principale: come posso ottenere un token di accesso con validità illimitata per un'app per Facebook?Come ottenere un token di accesso di Facebook di lunga durata?
Informazioni di
Abbiamo un app FB denominata MyApp con il seguente set up:
- MyApp è autorizzato ad interagire con il nostro facebook app
- MyApp ha i diritti di accesso per gestire i nostri pagine (manage_pages)
- MyApp ha accesso a Statistiche (read_insights)
Il nostro obiettivo è quello di estrarre i dati di Insights automaticamente, ad es. una volta ogni notte
Tentativo con OAuth generato applicazione gettone
Get APP_ACCESS_TOKEN appartenente alla myApp
graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials
esempio di token retribuito: 328467452729456598 | Wn2Gt69Ofg5ySdOGa3TsP2p4R
Usa APP_ACCESS_TOKEN per ottenere PAGE_ACCESS_TOKEN per ogni pagina graph.facebook.com/me/accounts?access_token=APP_ACCESS_TOKEN
Usa PAGE_ACCESS_TOKEN per ottenere della pagina di dati Insights: graph.facebook.com/YOUR_APP_ID/ intuizioni access_token = PAGE_ACCESS_TOKEN
mio problema è che l'APP_ACCESS_TOKEN ricevo dal punto 1 sembra mancare la parte utente del token, con conseguente il seguente errore durante l'esecuzione passo 2:?
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
Tentativo con gettone recuperato dal Graph Explorer API gettone
Se uso l'APP_ACCESS_TOKEN acquisita attraverso il Graph API Explorer (https://developers.facebook.com/tools/explorer), ottengo un token con la parte utente che è significativamente più lungo. Se utilizzo questo token nei passaggi 2 e 3, ottengo i dati corretti, ma tutti i token sono validi solo per 2 ore e successivamente non posso utilizzarlo per il recupero automatico dei dati di approfondimento.
tentativo di scambio di breve durata gettone per lunga vita gettone
Seguendo la procedura descritta in questa guida: https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token, ho cercato di scambiare una breve durata gettone per periodi più abitato.
Se uso provare a scambiare il token ottenuta dal processo di OAuth, ottengo l'errore:
"message": "No user access token specified",
"type": "OAuthException",
"code": 1
Se uso il token ottenuto manualmente dal esploratore grafico nel metodo di scambio, posso ottenere il altri passi per lavorare, ma per quanto tempo dura questo nuovo token? Se il token scade dopo x giorni o dopo qualche altro evento, mi troverei ancora a dover affrontare il problema di ottenere il token iniziale in modo programmatico (al contrario di manualmente ogni da Graph Explorer).
Quindi qualcuno sa come posso ottenere un token di lunga durata, recuperato automaticamente per risolvere questo problema?
Grazie!
Hai bisogno di un token di accesso _utente_ per interrogare '/ me/conti dei, non un token di accesso app. – CBroe