facebook:fql通过like count desc从流顺序中选择

时间:2013-04-04 12:52:46

标签: facebook facebook-fql

我正试图在页面上获得前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?

1 个答案:

答案 0 :(得分:2)

您需要做的就是在ORDER BY likes.count部分之后和WHERE部分查询之前添加LIMIT

使用stream表格,您可能需要提升LIMIT以获得所需的结果,然后在脚本中截断返回的结果。流表在设计上有一些严重的限制:

  • 如果您允许网页上的其他人发布帖子,则某些用户将配置其隐私设置,以便API不会返回其帖子。 Facebook在完成对FQL的评估之后对这些进行过滤,因此当您请求10时,您很少会获得10个帖子。

  • Facebook限制了它在stream表格中搜索的历史记录数量。我发现如果你想查看超过1个月的帖子,你需要一个至少为100的LIMIT。我很难一直检索超过3个月的帖子stream表。