2011-01-11 41 views
8

Uso php sdk en mi aplicación de Facebook y solicito el permiso extendido requerido. puedo conseguir todas las actualizaciones de estados de usuario que utilice mi solicitud de llamada a la APICómo obtener el feed de todos los amigos de Facebook Graph API

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

Pero cuando se utiliza el mismo método con el amigo de este usuario.

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

Tengo una matriz en blanco. Intenté no usar "? Limit = 0" pero el resultado sigue siendo el mismo.

También probé a usar

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

y tiene un poco de alimentación de ese usuario, pero no todos. Incluso si cambio "? Limit = 0" a "limit = 1000", pero el feed que obtuve ronda los 500 elementos, pero ese usuario tiene más feed que eso con seguridad.

Mi objetivo es recopilar los estados de usuarios y amigos y agruparlos.

+0

posiblemente relacionados: http://stackoverflow.com/questions/4622096/facebook-graph-api-feeds-missing-in-json- response/ – ifaour

Respuesta

4

La forma correcta para conseguir la comida del amigo de un usuario es el último ejemplo que utilizó:

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

Si está recibiendo algunos de los elementos de la fuente, pero no todos los que se espera alcanzar, es posible usted no tiene los permisos correctos. El permiso read_stream para ver publicaciones no públicas, por lo tanto, intente verificar dos veces que tiene el permiso read_stream. Se puede comprobar mediante la ejecución de la consulta FQL:

SELECT read_stream FROM permissions WHERE uid = me() 

No estoy 100% seguro de cómo podría hacer eso con el SDK que está utilizando, pero probablemente sería:

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

Buena suerte !


Puede leer más acerca de cómo ejecutar consultas FQL here.
Puede leer más sobre la tabla de permisos here.
Puede leer más sobre el objeto de usuario de graph api here.

+0

Intento consultar el permiso read_stream y obtuve "[read_stream] => 1", es decir que ya solicito el permiso correspondiente. – naokikun

+0

Nota de la versión: A partir de 2016 (Graph API v2.5), 'limit = 0' ahora arrojará 0 resultado, y el permiso' read_stream' se sustituirá por '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 de esto, es el más rápido para contar a tus amigos

+0

Creo que el póster original intentaba hacer más que solo cuenta algunos amigos. –

+1

FQL está en desuso, así que no use fql. –

Cuestiones relacionadas