我使用javascript api:
运行以下FQL查询FB.api({
method: 'fql.multiquery',
queries: {
'query1': 'SELECT source_id, actor_id, target_id, message, attachment, permalink, description, type, created_time FROM stream WHERE source_id IN (SELECT target_id FROM connection WHERE source_id=me() AND is_following=1) AND is_hidden = 0 AND type = 80 AND strpos(attachment.href, "youtu") >= 0 AND created_time < ' + unix_time,
'query2': 'SELECT uid, name, profile_url, pic_square FROM user WHERE uid IN (SELECT actor_id FROM #query1)'
}
},
function(response) {
console.log(response);
};
它应该返回当前用户Feed上的所有YouTube视频并允许重复查询,通过提供unix_time(首次运行时,这基本上是NOW()
,否则它是最早的状态时间);它做了什么,越野车:
LIMIT
(在query1上):在~3次查询后,返回空结果LIMIT 100
或更多(在query1上):返回结果,但后续结果为空created_time < NOW()
时,返回结果(在多个查询中);否则问题仍然存在(created_time <
最早收到状态的时间)不会返回任何错误。我有* read_stream *权限。我试图找到一个相关的bug,但发现只有FQL没有返回所有状态。
答案 0 :(得分:2)
API结果充其量只是参差不齐。基于我在Facebook API上的四年以上经验,我已经就如何发生这个问题得出了自己的结论。这是我的要点:
我建议缓存来自API的数据,并保持联合来自Facebook的新数据,以便您的UI可以呈现更一致的数据。