facebook图表api评论列表排序,如'orderby = desc'?

时间:2011-10-12 15:26:25

标签: facebook api facebook-graph-api facebook-comments

我使用graph api来获取图片的注释,但我想首先通过创建时间对结果进行排序,然后返回到最新数据。类似于sql语句'order by create_time desc',我不知道是否有这样的参数。

目前用于抵消和限制对最新数据的访问,但也知道评论的总数,

pagesize = 25;
offset = comments.count - pagesize;
limit = 25;
  

url =“https://graph.facebook.com/”+ object_id +“/ comments?access_token =”+ access_token +“& limit =”+ limit +“& offset =”+ limit;

下一页:

offset -= 25

但是注释。数字的数量有时并不准确

并且返回的请求URL的结果有时不匹配

  

是否有非常好的解决方案

     

或者我使用了错误的方法('limit'和'offset'参数)!!!


感谢您的回答。

“Graphics API”是否存在缓存?

我发布了一条消息和46条评论。请求网址,设置参数:

  

偏移= 0&安培;极限= 1

     

然后它应该返回到最后一条评论(最新一条),实际返回到评论中间,我测试了几次,设置了   抵消和限制。根据返回的结果,中间的结果是   最新评论

如果我设置的限制值大于'comment.count',则返回的数据全部,官方网站和facebook一致

因为缓存原因?

再次感谢〜

2 个答案:

答案 0 :(得分:5)

@dbau - 你最好还是使用FQL。根据我的经验,除非您进行非常简单的调用,否则您几乎无法控制通过Graph API调用获得的内容。

为什么不想使用FQL? FQL是Graph API的端点。仍有一些数据只能通过FQL返回。

这将为您提供您正在寻找的结果。查询需要进行URL编码。为了清楚起见,我把它留在纯文本中。

 https://graph.facebook.com/fql?access_token=[TOKEN]&q=
    SELECT id, fromid, text, time, likes, user_likes FROM comment
      WHERE object_id = [OBJECT_ID] ORDER BY time DESC LIMIT 0,[N]

您可能会发现每次都没有收到[N]条评论,因为Facebook会在运行查询后过滤掉access_token所有者不可见的项目。您可以上升LIMIT并过滤掉所返回的任何多余结果,或者如果您使用的是用户access_token,则可以将AND can_like = TRUE添加到WHERE子句中,以确保它们存在(如果存在) ,返回当前用户可见的[N]个帖子。

答案 1 :(得分:3)

Graph API首先返回最新的对象。

Facebook提供2个关键字来过滤提取的数据。

  1. 限制:返回“限制”最新记录数
  2. 偏移:从偏移位置返回“限制”记录数
  3. 所以要检索为对象发布的最新“x”评论

      ?

    https://graph.facebook.com/ [OBJECTID]极限= [X]&安培;偏移量= 0

    检索下一个“X”注释(页面方式)

      ?

    https://graph.facebook.com/ [OBJECTID]极限= [X]&安培;偏移量= [X *您做生意]

    希望答案对你来说足够清楚。