2011-01-11 14 views
8

Uso php sdk sulla mia app di Facebook e chiedo il permesso esteso richiesto. posso ottenere tutti gli stati di aggiornamento da utente che usa la mia domanda via api chiamataCome ottenere il feed di tutti gli amici da Facebook Graph API

$statuses = $facebook->api('/me/statuses?limit=0');

Ma quando io uso lo stesso metodo con l'amico di questo utente.

$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');

Ho una matrice vuota. Ho provato a non usare "? Limit = 0" ma il risultato è sempre lo stesso.

Ho anche provato ad usare

$friendFeed = $facebook->api('/'.$user_id.'/feed?limit=0');

e ottenuto un po 'di mangimi provenienti da tale utente, ma non tutti. Anche se cambio "? Limit = 0" in "limit = 1000" ma il feed che ho ottenuto è di circa 500 voci ma quell'utente ha più feed di quello sicuro.

Il mio lavoro è mirato a raccogliere gli stati degli utenti e degli amici e raggrupparli.

+0

possibilmente correlati: http://stackoverflow.com/questions/4622096/facebook-graph-api-feeds-missing-in-json- risposta/ – ifaour

risposta

4

Il modo corretto per ottenere feed amico di un utente è l'ultimo esempio è stato utilizzato:

$friendFeed = $facebook->api("/{$user_id}/feed?limit=0"); 

Se hai trovato alcuni degli elementi del feed, ma non tutti quelli che ti aspetti, è possibile non hai i permessi giusti L'autorizzazione read_stream per vedere i messaggi non pubblici, quindi, prova a verificare due volte che hai il permesso read_stream. È possibile controllare mediante l'esecuzione della query FQL:

SELECT read_stream FROM permissions WHERE uid = me() 

io non sono sicuro al 100% come si dovrebbe farlo con l'SDK che si sta utilizzando, ma sarebbe probabilmente:

$readStream = $facebook->api("/method/fql.query?query=SELECT+read_stream+FROM+permissions+WHERE+uid+=+me()"); 

Buona fortuna !


È possibile leggere ulteriori informazioni sull'esecuzione delle query FQL here.
È possibile leggere ulteriori informazioni sulla tabella delle autorizzazioni here.
È possibile leggere ulteriori informazioni sull'oggetto Utente del grafico api here.

+0

Provo a interrogare il permesso read_stream e ho ottenuto "[read_stream] => 1" significa che ho già chiesto il permesso appropriato. – naokikun

+0

Nota sulla versione: A partire dal 2016 (Graph API v2.5), 'limit = 0' restituirà 0 risultato, e il permesso' read_stream' è sostituito da 'read_posts' – Raptor

0
$num = 0; 
$result = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1=me()')); 
foreach($result as $photo){ 
$num++; 
} 

uso questo, è il più veloce di contare i tuoi amici

+0

Credo che il poster originale stesse cercando di fare più di conta amici di qualcuno –

+1

FQL è deprecato quindi non utilizzare fql. –

Problemi correlati