Facebook FQL flux limite?
Je veux obtenir l'historique complet de mon mur. Mais il me semble frapper une limite quelque part au mois de juin.
- Je faire plusieurs appels comme ceci:
SELECT created_time,message FROM stream WHERE source_id=MY_USER_ID LIMIT 50
SELECT created_time,message FROM stream WHERE source_id=MY_USER_ID LIMIT 51,100
et ainsi de suite...
Mais je finis toujours sur le même dernier (premier) post sur mon mur.
Par le biais de facebook.com je peux aller beaucoup plus si Facebook ont évidemment le de données.
Pourquoi je n'obtiens pas anciens messages?
Est-il une autre façon de gratter mon histoire?
OriginalL'auteur fdqps | 2010-10-31
Vous devez vous connecter pour publier un commentaire.
De http://developers.facebook.com/docs/reference/fql/stream :
however you can use time-specific fields such as created_time along with FQL operators (such as < or >) to retrieve a much greater range of posts.
Alors peut-être la solution ici est de pas l'utilisationLIMIT
mais à utiliser le temps paramètres à utiliser.Je vais ajouter 30 jours est habituellement beaucoup plus que 100.
J'ai essayé d'utiliser les paramètres de temps, j'ai essayé une période de 3 jours et cela a fonctionné. J'ai essayé une période de 30 jours et ça ne fonctionne pas. Il ne m'a donné de 14 postes de 9 jours.
OriginalL'auteur digital illusion
Je suis en train de vivre la même chose. Je ne comprends pas du tout, mais il semble que le décalage ne peut pas être supérieure à la limite * 1.5
Théoriquement, cela signifie que toujours l'augmentation de la limite de faire correspondre le décalage serait-il fixer, mais je n'ai pas été en mesure de vérifier cela (je ne suis pas sûr de savoir si les problèmes que j'essaie de voir si d'autres bugs dans mon code ou si il y a d'autres limites que je ne comprends pas au sujet d'obtenir le flux de données).
Quelqu'un peut-il expliquer ce que je vois et ce que je suis absent?
Vous pouvez reproduire mes résultats en allant à la FQL Test de la Console:
http://developers.facebook.com/docs/reference/rest/fql.query
coller dans cette requête:
Lorsque vous cliquez sur "Méthode d'Essai", vous verrez l'un des 2 résultats que j'obtiens:
Vous aurez probablement besoin d'expérimenter en changeant la valeur "offset" jusqu'à ce que vous trouver l'endroit exact où il se brise. Seulement maintenant, j'ai trouvé ça casse pour moi à 155 et 156.
Essayez de changer à la fois la limite et de l'offset et vous verrez que le vide résultats ne se produisent pas à un emplacement particulier dans le ruisseau. Voici quelques exemples de résultats que je ai vu:
En plus de voir à la limite=offset*1.5 relation, je ne comprends vraiment pas ce qui se passe ici.
OriginalL'auteur Subcreation
Sauter le FQL et aller directement au graphique. J'ai essayé FQL et il était buggé quand il est venu aux limites et d'obtenir des plages de dates données. Voici le graphique de l'adresse. Mettre dans votre propre page facebook_id et access_token:
https://graph.facebook.com/FACEBOOK_ID/posts?access_token=ACCESS_TOKEN
Ensuite, si vous souhaitez obtenir votre histoire définir une plage de dates à l'aide de
since
,until
etlimit
:https://graph.facebook.com/FACEBOOK_ID/posts?access_token=ACCESS_TOKEN&since=START_DATE&until=END_DATE&limit=1000
Ceux de début et de fin dates sont en temps unix, et j'ai utilisé de la limite parce que si je n'avais pas il ne serait que de me donner 25 à la fois. Enfin, si vous voulez des idées pour vos messages, vous aurez à aller à chaque post et de saisir les idées pour le poste:
https://graph.facebook.com/POST_ID/insights?access_token=ACCESS_TOKEN
Genre dépassée, mais facebook_id/posts ne fournissent pas les mêmes résultats que le flux de données. les photos, les ablums et les vidéos sont exclus de cette méthode de l'API.
OriginalL'auteur crunkchitis
Je ne sais pas pourquoi, mais quand j'utilise le
filter_key = 'others'
laLIMIT xx
œuvres.Voici mon fql requête
et maintenant je reçois exactement 5 messages...quand j'utilise
LIMIT 7
- je obtenir 7 et ainsi de suite.OriginalL'auteur Roman
@Subcreation dit, quelque chose est wack avec FQL sur les flux avec LIMIT et OFFSET et de LIMITE supérieure/COMPENSER les ratios semblent fonctionner mieux.
J'ai créé un sujet sur il Facebook à http://developers.facebook.com/bugs/303076713093995. Je vous suggère de vous abonner et de vous indiquer que vous pouvez reproduire à obtenir frappé jusqu'en priorité.
Dans le bug, je vais décrire comment un simple flux FQL retourne très contradictoires réponse basé sur son LIMIT/OFFSET. Par exemple:
OriginalL'auteur studgeek
Vous obtenir un maximum de likes de 1000 lors de l'utilisation de la LIMITE de
FQL: SELECT user_id D'OÙ object_id=10151751324059927 LIMITE 20000000
OriginalL'auteur Saki
Vous pouvez spécifier created_time pour votre facebook requête.
create_time champ est basé sur unix temps. Vous pouvez convertir avec un convertisseur http://www.onlineconversion.com/unix_time.htm, ou d'utiliser des méthodes du programme dépend de vous de la langue.
Modèle basé sur votre demande
Et spécifiques, par exemple à partir de 20.09.2012 à 20.09.2013
OriginalL'auteur Владимир Дворник
J'ai un problème similaire en essayant de télécharger des messages plus anciens à partir d'une page publique, l'ajout d'un filtre "ET created_time < t', et le paramètre t pour chaque requête au minumum de created_time j'ai eu jusqu'à présent. La chose étrange est que, pour certaines valeurs de t ceci renvoie à un ensemble vide, mais si je régler manuellement t de retour d'une ou deux heures, puis j'ai commencer à obtenir des résultats encore. J'ai essayé de débogage à l'aide de l'explorateur et arrivé à un point où un certain t me 0 résultats, et t-1 permettrait d'obtenir des résultats, et en répétant me donnerait le même comportement.
Je pense que cela peut être un bug, parce que, évidemment, si je created_time < t-1 me donne des résultats, et puis aussi created_time < t devrait.
Si c'était une question de limites de fréquence ou de droits d'accès, alors que je devrais avoir une erreur, au lieu-je obtenir un ensemble vide, et seulement pour certaines valeurs de t.
Ma suggestion pour vous est de filtrer sur created_time, et de le modifier manuellement lorsque vous cessez obtenir des résultats.
OriginalL'auteur ggll
Essayer avec une virgule:
SELECT post_id, created_time, message, likes, comments, attachment, permalink, source_id, actor_id FROM stream WHERE filter_key IN (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0 limit 11,5
OriginalL'auteur Muck