我一直在尝试使用Fql查询显示post.at的所有评论首先我显示2个帖子然后当'显示更多评论'点击我显示接下来50条评论,这样它继续。当'显示更多评论'时我通过ajax调用graph api执行以下操作 -
SELECT text,post_id FROM comment WHERE post_id=post_id limit 50
但是当我第一次点击“显示更多评论”时,它会显示52条评论,然后当我再次点击它会显示大约102条评论。但是对于下一次点击,152条评论未显示。大约有102条评论。
我的目标 -
首先点击“显示更多评论”=显示从第一条评论开始的52条评论(限制值= 52我在查询中指定)
第二次点击=显示从第一条评论开始的102条评论(限制值= 102)
第3次点击=显示从第一条评论开始的152条评论(限制值= 152) ......继续
所以我无法实现这一点。我真的尝试了很多方法使用偏移。很多问题。还有facebook错误吗?请尽快帮助。
答案 0 :(得分:5)
您应该尝试使用光标分页,建议按照https://developers.facebook.com/docs/reference/api/pagination/
中的说明进行操作光标分页下的返回结果更符合限制 请求,即使隐藏了您没有的任何记录 查看权限(例如,如果您请求10条记录,但没有 权限可以查看其中3条记录,另外还有3条记录 透明地拉动,以便拉出完整的10条记录。)
post_id_cursor的示例:
SELECT text, post_id, post_id_cursor FROM comment WHERE post_id='22707976849_10151395520781850' ORDER BY time DESC limit 50
您获得最后评论的post_id_cursor,然后使用> post_id_cursor 符号导航下一页
SELECT text, post_id, post_id_cursor FROM comment WHERE post_id='22707976849_10151395520781850' AND post_id_cursor>'Mjg3NA==' ORDER BY time DESC limit 50
object_id_cursor的示例相同:
SELECT text, post_id, object_id_cursor FROM comment WHERE object_id='10151395520696850' ORDER BY time DESC limit 50
SELECT text, post_id, time, object_id_cursor FROM comment WHERE object_id='10151395520696850' AND object_id_cursor>'Mjg3NA==' ORDER BY time DESC limit 50
<强>更新强>
确保您已启用“2013年7月重大更改:”字段 在您的应用高级设置, https://developers.facebook.com/apps/YOUR_APP_ID/advanced。更多信息在 https://developers.facebook.com/roadmap
特定用户获取Feed的示例: