2013-02-16 6 views
6

Supponiamo che due utenti utilizzino un'applicazione e abbiano concesso all'applicazione autorizzazioni appropriate per recuperare i propri Mi piace. È possibile utilizzare FQL o l'API grafica per trovare ciò che gli piace hanno in comune? Simile a come è possibile trovare gli amici reciproci tra due utenti utilizzando l'API grafico. Non credo che esista una chiamata api così come sono passato attraverso i documenti, ma potrei averlo perso. Mi piacerebbe sapere se questo è possibile e se sì, come può essere fatto. Sto davvero male con SQL e ho appena iniziato con FQL e posso ottenere tutti i mi piace da un singolo utente, ma come si ottengono solo i Mi piace comuni tra due utenti (se possibile)?Come ottenere vantaggi reciproci su Facebook tra utenti che utilizzano un'app

risposta

3

Questo può essere ottenuto tramite FQL.

1) Selezionare le pagine di utente 1

SELECT page_id FROM page_fan WHERE uid = $user1 

2) Selezionare le pagine di utente 2, e utilizzare le page_id di dalla query precedente come un altro filtro (aka - una query sub)

Che ti dà una query completa finale che lo compie:

SELECT page_id FROM page_fan WHERE uid= $user2 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = $user1) 
+0

Impressionante, grazie mille. La spiegazione è stata particolarmente apprezzata. – landland

+0

Ciao Tommy, dopo aver giocato con questo ancora non sembra funzionare e restituisce un set di dati vuoto. Per testare, ho usato due utenti, e ho fatto il comando SELECT page_id FROM page_fan WHERE uid = $ user1 e poi SELECT page_id FROM page_fan WHERE uid = $ user2. Entrambi contengono un page_id comune come ho ricontrollato. Tuttavia, quando combino la dichiarazione del tuo esempio usando SELECT page_id FROM page_fan WHERE uid = $ user2 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = $ user1) i dati restituiti sono vuoti. Questo sta utilizzando lo strumento Query FQL di Facebook. Qualche idea? – landland

+0

Logicamente, la query funziona. Quindi non so se c'è un problema con i tempi su questo, o cosa. Prova a farlo eseguendo una query multipla e guarda cosa ottieni: https://developers.facebook.com/docs/reference/rest/fql.multiquery/ –

0

FQL non è più disponibile. Puoi farlo con l'API grafico di facebook. Qualcosa del genere:

graph.setAccessToken(user.facebookToken); 
    graph.get("/"+targetFacebookId+"?fields=context", null, function(err, result) { 
    if (err) { 
     notDoStuff(err); 
    } else { 
     doStuff(result); 
    } 
    }); 
Problemi correlati