
Il cuore della maggior parte delle Applicazioni Facebook è formato da chiamate all’API o da query FQL che chiedono alla piattaforma determinati dati da elaborare.
Facebook mette a disposizione degli sviluppatori una quantità immensa di dati relativi ad utenti, Pagine, Profili, relazioni… e possiamo utilizzarli tutti nelle nostre Applicazioni, basta saperlo fare.
In questo articolo ho voluto raccogliere alcune query FQL che ho elaborato io stesso sviluppando le mie Applicazioni e ho deciso di condividerle con te.
Visto che la documentazione e gli esempi ufficiali non sono particolarmente dettagliati, sono sicuro che ti torneranno molto utili!
Se sei alle prime armi e non sai come fare una query a Facebook, leggi prima queste risorse:
- Introduzione a FQL
- Il metodo Fql.Query
- Le tabelle a cui possiamo accedere
- La console per testare le nostre query
Query sugli Utenti
1. Ottenere gli ID di tutti gli amici che usano l’applicazione
FROM user
WHERE is_app_user = 1 AND uid IN (
SELECT uid2
FROM friend
WHERE uid1 = $id_utente)
2. Ottenere gli ID di tutti gli iscritti ad un gruppo
FROM group_member
WHERE gid = $id_gruppo
Query su Pagine Fan e Profili
3. Ottenere le Pagine Fan amministrate da un utente
FROM page
WHERE page_id IN (
SELECT page_id
FROM page_admin
WHERE uid = $id_utente)
4. Ottenere le Pagine Fan amministrate, che hanno i permessi di pubblicazione
FROM page
WHERE page_id IN (
SELECT uid
FROM permissions
WHERE publish_stream = 1 AND uid IN (
SELECT page_id
FROM page_admin
WHERE uid = $id_utente))
5. Ottenere lo Stream di una Pagina Fan (solo i contenuti postati dall’admin)
Per poter eseguire questa query, l’utente deve avere dato i permessi di lettura dello Stream sulle sue pagine.
FROM stream
WHERE source_id = $id_pagina AND actor_id = $id_pagina
6. Ottenere i video di Youtube postati sul Profilo di un utente
FROM stream
WHERE filter_key IN (
SELECT filter_key
FROM stream_filter
WHERE uid = $id_utente)
AND attachment.caption = 'www.youtube.com'
7. Ottenere gli ultimi commenti dei fan ai post di una Pagina
FROM comment
WHERE post_id IN (
SELECT post_id
FROM stream
WHERE source_id = $id_pagina AND updated_time > $unix_time)
AND fromid != $id_pagina
8. Ottenere gli ultimi post dei fan su una Pagina
FROM stream
WHERE source_id = $id_pagina AND updated_time > $unix_time AND actor_id != source_id
Query sui Links
9. Ottenere tutti i link postati sul Profilo di un utente
FROM link
WHERE owner = $id_utente
10. Ottenere le statistiche di un link
FROM link_stat
WHERE url = '$url'
Se questo post ti è tornato utile, lasciami un feedback nei commenti!
Visto che non sono moltissimi gli sviluppatori Facebook che bazzicano il mio blog, vorrei capire se queste cose interessano o se devo concentrarmi su altro.




Ciao Ghido, sei la mia ultima speranza
non riesco a trovare un modo per interrogare fb ed avere una lista di utenti che si sono registrati alla mia fb-app (oppure alla pagina fb), cioè chi ha accettato i permessi della app.
io non sono un programmatore e non trovo un codice valido da inserire in https://developers.facebook.com/tools/explorer/ per ricevere la lista degli utenti con le relative info per i permessi accettati dalla mapp (per esempio nome+email)
forse sbaglio posto dove interrogare fb?
non ne vengo a capo
Ciao ottimo articolo! Molto utile, peccato che non ho trovato quello che mi serviva. Ti spiego ho un’applicazione FB relativa al mio sito. Ho attivato un plugin che gestisce i commenti tramite FB (parliamo di cms wordpress).
Il mio problema è che voglio andare a prendere i commenti recenti ai miei articoli.
La parte di codice che esegue questo da un’errore in quanto ritorna XID null lo xid come saprai è l’identificativo dei commenti.
Quello che voglio fare io è prendere tutti i commenti partendo dal mio app_id
come faccio? Si può fare? Avresti altre soluzioni?
Ciao, volevo sapere se è possibile utilizzare FQL per recuperare la lista di utenti che hanno cliccato “mi piace” su un certo URL.
Ciao Ghido!
Altro che se sono utili!
posso suggerirti altre query da fare?
Per esempio come fare per capire se un amico permette la scrittura sul suo wall?
Inoltre, se posso andare oltre la FQL query, ad oggi, come taggare nel proprio post gli amici?
il metodo @[userid:1:username] non funziona più!
Grazie per il tuo articolo…UTILISSIMO!
Ciao Ghido! Complimenti per l’articolo!
Vorrei chiederti una informazione: E’ possibile fare degli INSERT nel db facebook?
In pratica vorrei inserire degli eventi in automatico dal mio sito nella lista eventi facebook sul mio account anziché creare 2 eventi : 1 per mio sito altro per facebook. Mi spiego meglio: dal mio sito passo tramite una procedura specifica foto+titolo+testo formattato ad hoc e poi faccio un INSERT nella tabella eventi Facebook.
Esiste un metodo che mi consente di effettuare questa operazione? Se sì, dove posso trovare una buona guida.
Grazie mille!
ciao Ghido,
sto cercando di creare un applicazione per facebook.
questa app consiste nel far scegliere agli utenti una loro foto dal profilo o dai loro album, questa foto una volta scelta verrà poi modificata da un’applicazione flash e deve essere rimessa in facebook come foto del profilo..
sono riuscito nella prima parte (prelevere le foto dagli album) tramite una serie di query fql, ma c’è un modo per caricare questa foto come immagine del profilo??
si può fare tramite fql??
o è impossibile??
ps: uso la tua classe Facebook Graph API Class 1.2
Salve Daniele,
stiamo studiamo come integrare FB sul nostro portale roadsharing.com e la lettura dei tuoi post mi ha dato altre idee.
Daniele
ciao, è possibile fare delle query cercando tra tutti i contatti (
Ciao scusami ma vado un tantino off topic, ho cercato molto su internet ma non ho mai trovato risposta.
Ho provato un interrogazione FQL eseguendo questo comando:
$facebook->api_client->fql_query(“*INTERROGAZIONE”);
…ma la riga di codice completa che ho dato è la seguente (in pratica dovrei aver inserito il risultato della query nella variabile $risultato, almeno io penso):
$risultato = $facebook->api_client->fql_query(“*INTERROGAZIONE”);
* Dove INTERROGAZIONE è la mia interrogazione FQL.
Il problema che la variabile $risultato rimane non valorizzata (cioè sempre ‘NULL’) ho fatto diverse prove ma nulla.
Un ultima cosa (come avrai sicuramente capito sono nuovo a utilizzare FQL) … come faccio a visualizzare i dati di OUTPUT (magari utilizzando la funzione php echo) di un interrogazione (mi servirebbe un esempio teorico) su internet al solito non ho trovato nulla. Ti ringrazio per un eventuale risposta. Ciao
…ho provato tantissime volte non c’è niente da fare l’FQL nelle mia app non funziona restituisce sempre valore NULL sulla variabile ho provato tantissime interrogazioni corrette (perchè provate qui: https://api.facebook.com/method/fql.query?query=*INTERROGAZIONE ) ma niente da fare….percaso si deve attivare qualcosa quando si crea l’applicazione per far funzionare le interrogazioni FQL?
Puoi trovare una soluzione che sono in difficoltà. Grazie
…ci sono riuscito con le graph API…se aspettavo te, si faceva notte!!! ciao
Beh, sinceramente si può dire che in italiano c’è davvero poco e tu sei uno dei pochi che scrive anche buoni, anzi ottimi articolo sempre utili!!
Ti ringrazio!!
Ps. se io provo ad eseguire questa query:
api_client->fql_query($query);
?>
naturalmente $fb è già istanziata…
non da errore ma mi blocca tutta la pagina facendola diventare dal punto in cui la eseguo vuota…
Ciao e complimenti per l’articolo!
A me interessano molto questo tipo di articoli. Vorrei chiederti se saresti in grado di realizzare una toolbar (stile quelle che si vedono sulle varie Apps piu’ famose) con i classici pulsanti:
Like, Bookmark, All permission e visualizzare un messaggio positivo nel caso l’utente sia fan dell’apps, abbia messo un bookmark e abbia permesso le all permission.
Ciao,
Antonio
Ciao! complimenti per l’articolo!
Comunque si, queste cose sono molto utili, soprattutto se il wiki di facebook è così incasinato, complimenti
Ormai ti seguo da moltissimo, ed è proprio da qui che sono partito con al realizazione della mia prima applicazione per facebook dedicata alla mia ragazza, i tuoi post sono dettagliati quanto semplici nel capirli, quanto difficili interpretarli per una persona che è alle prime armi, ma comunque seguendoti e facendo prove sù prove i tuoi tutorial /Guide portano ad un buon risultato. personalmente:
Ho seguito la tua guida per il layout fbml e sono riuscito a crearmelo, sono iscritto al gruppo facebook developer e sono riuscito a mettere il tasto bookmark, i permessi e i permessi e-mail per gli aggiornamenti, oltre alla possibilità di pubblicare in bacheca.
tuttavia ci sarebbero delle cosette che vorrei chiederti, e se ossibile inserirle al più presto nella mia applicazione (Ancora non ho facebook connect) vorrei comunque poter mettere il pulsante fan (e solo il pulsante) senza gingilli vari, ho fatto varie prove ma nulla, sai un tag fbml speciale percaso? dato che per il book si usa () ?
Grazie per una tua risposta!
Arrivo tardi, ho visto che hai già risolto per il pulsante “Diventa fan”.
Tieni solo conto che in teoria Facebook vieta di nascondere con i CSS il logo ed il titolo della pagina fan:
http://wiki.developers.facebook.com/index.php/Fb:fan
Grazie ragazzi. Il mio dubbio era proprio questo: quando pubblico un articolo sullo sviluppo di applicazioni Facebook non ricevo molti commenti, quindi volevo capire se sono apprezzati o meno.
In realtà poi di commenti ne ricevo fin troppi nel tempo, da utenti provenienti dai motori di ricerca, ma quello che mi interessa ora è far felici i lettori abituali.
Ghido, personalmente apprezzo un casino i tuoi post sulle applicazioni Facebook; sono sempre utili. Mi piacerebbe tu continuassi a pubblicarli.
Personalmente, non commento spesso per il semplice fatto che i miei tempi sono molto ristretti.
Ti ringrazio, Sebastian. Continuerò allora a scrivere almeno un articolo a settimana a tema Facebook (applicazioni o trucchi di marketing).
grande ghido!!! tutto quello che scrivi sulle applicazioni facebook è utilissimo!!!! continua così
Ciao Daniele,
a me queste cose interessano, di solito non commento perché non c’è molto da commentare non capendoci ancora molto. Ma le sto studiando visto che Facebook è ormai un’opportunità di marketing troppo grande per essere ignorata..
Quindi continua così, offri risorse che non si trovano in rete tanto facilmente e questo è qualcosa di utilissimo!
Ciao
Paolo
Bravo
Mi sono tolto una bella curiosità…
appena ho tempo sviluppo anche io qualche applicazione…