2011-09-06 5 views
4

Existe-t-il un moyen d'utiliser Facebook FQL pour récupérer tous les messages (ou posts vidéo) de l'ami d'un utilisateur?Recevez les messages Facebook de vos amis

Par exemple quelque chose comme:

SELECT post_id, message FROM stream WHERE source_id=(fb_friends_array) 

Et comment puis-je utiliser ce graphique avec le api. Normalement j'utilise la syntaxe suivante pour obtenir des données:

$data = json_decode(file_get_contents(....)); 
+0

comment récupérer les données - il y a plusieurs façons de le faire ... Votre méthode est juste une - mais oui ... la réponse que vous obtenez est au format JSON ... tiré de [facebook docs] (https://developers.facebook.com/ docs/reference/api /): 'Toutes les réponses sont des objets JSON. ' – Lix

Répondre

4

Oui il y a!

https://graph.facebook.com/{friends_uid}/posts 

Cet appel renverra tous les messages (et les données des messages - commentaires, etc ...) que vous avez des autorisations pour voir (en fonction de vos amis paramètres de confidentialité) ...

Pour pour récupérer des photos ou des vidéos, tout ce que vous avez à faire est de changer "messages" avec des vidéos ou des photos ... Bien sûr, votre application devra avoir des autorisations pour voir vos amis photos et vidéos ..

+0

Je sais, je l'ai fait mais comment utiliser une requête pour obtenir tous les messages de TOUS mes amis à la fois? Cela me fait seulement les messages d'un ami non? Si j'utilise une boucle foreach avec cette requête pour obtenir tous les messages de tous mes amis cela prend environ 1 minute ... – Tieme

+1

vous pouvez regarder dans [demandes par lots] (https://developers.facebook.com/docs/reference/ api/batch /) mais en tout cas vous parlez d'une quantité relativement importante de données ... la collecte pourrait prendre du temps. Si vous souhaitez afficher ces messages à l'utilisateur, vous pouvez envisager d'utiliser une sorte de pagination et charger des fragments plus petits des données lorsque vous en avez besoin. Vous pouvez également baser les requêtes sur les horodatages afin de les charger éventuellement dans l'ordre chronologique ... – Lix

Questions connexes