Fql Limit返回的结果少于预期的结果

Dan*_*dok 2 facebook facebook-fql

我试图通过fql查询从facebook获取数据.我想做的其中一件事就是每次通话都能获得一个有意义的记录.我试图通过'LIMIT [start],[end]'命令来执行此操作,它假设将这些数字之间的记录返回给我.而不是[end] - [start]记录,而不是假设要返回的记录总数.我得到随机数量的记录,我已经检查过,我可以肯定我并没有尝试获得更多的记录.

限制示例:

http://graph.facebook.com/fql?q=SELECT actor_id, message,description FROM  stream WHERE source_id =5878435678 Limit 2,10
Run Code Online (Sandbox Code Playgroud)

这假设返回7条记录(计数从0开始),我只得到3条记录.有趣的是,当我写作而不是10 50时,我有26条记录.

有人可以帮助我找到一种方法来获得我要求的确切记录.坦克前进!!

DMC*_*MCS 12

Facebook工程师发布的这篇博文解释了这一现象.

http://developers.facebook.com/blog/post/478/

这是解决你问题的部分......

您可能会注意到返回的结果数量并不总是等于指定的"限制".这是预期的行为.在检查查看返回的结果是否对查看者可见之前,查询参数应用于我们的结尾.因此,您可能会得到比预期更少的结果.

以下是博客文章中最好的部分......

这也意味着当您手动构建自己的查询时,您应该知道,如果您指定了"offset"参数,那么对于某些表和连接,您指向的第N个结果可能不会在结果中返回(如第3个导致上图中的步骤2).这可能使分页变得困难和混乱.

大声笑,你杀了我Facebook!为什么不直截了当地保持一致,而不是"困难和困惑".?!?!?

  • 而且我一直认为编程是一个精确的"科学"......好吧,据FB说,情况并非如此:) (5认同)