Un’applicazione facebook è un’applicazione web ( scritta con un qualsiasi linguaggio web), in genere eseguita in uno spazio interno di facebook.
Questo spazio si chiama Canvas Page. Ogni Canvas è identificato da un nome, dalle dimensioni e dall’url esterno (Canvas URL) da dove prendere la nostra applicazione. Questo url deve essere https.
A livello di html5 il canvas è un tag cosi definito:
Per usare, e quindi fare query, facebook abbiamo bisogno prima di un token.
Questo token ci dice quali informazioni possiamo prendere dall utente (in genere questa info corrisponde alla finestrella che si apre e dice “consenti a questa app di prendere queste informazoni…………..”). Il permesso di prendere informazioni devono inoltre essere dichiarati, e approvati, da facebook stesso in fase di creazione della nostra applicazione.
Questo token viene ottenuto seguendo il protocollo OAuth 2.0.
Protocollo OAuth 2.0 funzionamento:
1 – L’ utente accede all’applicazione (la nostra), che contatta il sistema esterno per ricevere un “Unauthorized Request Token”;
2 – L’applicazione ridirige l’ utente verso il sistema esterno, passando il token non autorizzato;
3 – L’ utente decide di autorizzare l’applicazione direttamente sul sistema esterno;
4 – Il sistema esterno ridirige l’utente verso l’applicazione passando un “Access Token”
5 ; L’applicazione accede ai dati dell’Utente presenti sul sistema esterno grazie al token autorizzato.
Per fare le query ci sono due modi:
- FQL,un linguaggio simile ad SQL es: SELECT uid, name FROM user WHERE uid = me()
- GraphAPI: ossia si chiama un url https://graph.facebook.com/me?fields=id,bio,hometown…….. con le varie info richieste messe nella get
Per prendere il token e fare query in java si può usare il framework SocialAuth