javascript - Facebook FQL 在查询中返回重复的帖子

标签 javascript facebook coffeescript facebook-fql

我正在尝试从用户的信息流中获取最后 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

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

最佳答案

FQL不能做group by's,而Facebook存储post stories的方式多种多样,所以有“倍数”。解决这个问题的方法是选择你需要的列,并做一个“where in”来限制你的结果集,即:

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])
  )
  • 不要相信你可以做限制,你应该做小于/大于日期,或者解析和排序结果集

关于javascript - Facebook FQL 在查询中返回重复的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10525133/

相关文章:

javascript - 无法更改 d3.js 矩形的填充

javascript - 将此背景幻灯片与 JQuery 一起使用,我需要将整个图像放入 div 中

javascript - JQuery if-else 跳过第一个有效条件后的所有内容

javascript - Facebook API - 评论分享指向错误 URL 的链接

facebook - 未经授权的源 IP 地址 使用 facebook sdk

javascript - 在生产中使用 "coffee"而不是 "node"命令

javascript - 如何在 Javascript(或 Coffeescript)中将非嵌套 JSON 转换为嵌套 HTML 列表?

javascript - 如何使用正则表达式搜索字符串并仅更改其中的一部分?

JavaScript判断设备,并在message.confirm中添加图片

facebook - 使用开放图谱协议(protocol)将站点与 Facebook 页面链接