我正试图在页面上获得前10个喜欢的帖子。我的疑问是:
select message,likes from stream where
source_id=<pageid> and is_published=1
limit 10
这是返回的数据结构:
"message": "message",
"likes": {
"href": "https://www.facebook.com/browse/likes/?id=<id>",
"count": <likecount>, <- THIS IS THE FIELD I WANNA ORDER BY
"sample": [
],
"friends": [
],
"user_likes": false,
"can_like": true
我如何使用order by子句来命令:count field?
答案 0 :(得分:2)
您需要做的就是在ORDER BY likes.count
部分之后和WHERE
部分查询之前添加LIMIT
。
使用stream
表格,您可能需要提升LIMIT
以获得所需的结果,然后在脚本中截断返回的结果。流表在设计上有一些严重的限制:
如果您允许网页上的其他人发布帖子,则某些用户将配置其隐私设置,以便API不会返回其帖子。 Facebook在完成对FQL的评估之后对这些进行过滤,因此当您请求10时,您很少会获得10个帖子。
Facebook限制了它在stream
表格中搜索的历史记录数量。我发现如果你想查看超过1个月的帖子,你需要一个至少为100的LIMIT
。我很难一直检索超过3个月的帖子stream
表。