【问题标题】:Facebook FQL returning duplicate posts in queryFacebook FQL 在查询中返回重复的帖子
【发布时间】:2012-05-09 22:39:38
【问题描述】:

我正在尝试从用户的信息流中获取最后 10 个帖子。出于某种原因,我的 FQL 查询将连续返回每个帖子中的两个。这是我的代码,请原谅 CoffeeScript,

method = 'fql.multiquery'
queries = 'feed' : "SELECT attachment , type , created_time , filter_key,     actor_id, description, message  FROM stream WHERE (filter_key = 'others' OR filter_key = 'owner') ORDER BY created_time DESC LIMIT 10"
params =
    method : method
    queries : queries
FB.api (params) , (response) =>
    #and so on

我不太确定为什么会这样。

【问题讨论】:

    标签: javascript facebook coffeescript facebook-fql


    【解决方案1】:

    FQL 无法进行分组,Facebook 商店以各种方式发布故事,因此有“倍数”。解决这个问题的方法是选择你需要的列,然后做一个“在哪里”来限制你的结果集,即:

    select 
        attachment , type , created_time , filter_key, actor_id, description, message
    FROM 
       stream
    WHERE 
       post_id in (select post_id 
          FROM 
             stream 
         WHERE 
              (filter_key = 'others' OR filter_key = 'owner' and created_time < [long-ass unix time])
      )
    
    • 不要相信你可以做限制,你应该做小于/大于日期,或者解析和排序结果集

    【讨论】:

    • 这似乎不起作用。我在位置 250 处收到“(#601)解析器错误:意外')'。”尝试在 Graph API Exporer 中运行此查询时。该错误似乎与子查询有关。
    • 实际上看起来就像你在末尾多了一个右括号。
    • “created_date”也应该是“created_time”。在进行这两个调整并添加时间戳之后,查询工作得非常好。感谢您的信息。
    猜你喜欢
    • 2012-10-17
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多