mas*_*ast 13 api facebook facebook-graph-api facebook-comments
我使用graph api来获取图片的注释,但我想首先通过创建时间对结果进行排序,然后返回到最新数据.类似于sql语句'order by create_time desc',我不知道是否有这样的参数.
目前用于抵消和限制访问最新数据,但也知道评论总数,
pagesize = 25;
offset = comments.count - pagesize;
limit = 25;
Run Code Online (Sandbox Code Playgroud)
url ="https://graph.facebook.com/"+ object_id +"/ comments?access_token ="+ access_token +"&limit ="+ limit +"&offset ="+ limit;
下一页:
offset -= 25
Run Code Online (Sandbox Code Playgroud)
但是注释数量有时并不准确
并且返回的请求URL的结果有时不匹配
是否有非常好的解决方案
或者我使用了错误的方式('限制'和'偏移'参数)!!!
谢谢您的回答.
"Graphics API"存在缓存?
我发布了一条消息和46条comments.requests url,设置参数:
偏移= 0&极限= 1
然后它应该返回到最后一个注释(最新的一个),实际返回到注释的中间,我测试了几次,设置了偏移和限制.根据返回的结果,中间的是最新的评论
如果我设置的限制值大于'comment.count',则返回的数据全部,官方网站和facebook一致
因为缓存原因?
再次感谢〜
@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]
Run Code Online (Sandbox Code Playgroud)
您可能会发现[N]每次都没有返回评论,因为Facebook会在运行查询后过滤掉access_token所有者看不到的项目.您可以上升LIMIT并过滤掉所返回的任何多余结果,或者如果您正在使用用户,您可以添加到该子句以保证,如果它们存在,则返回当前用户可见的帖子.access_tokenAND can_like = TRUEWHERE[N]
Graph API 首先返回最新的对象。
Facebook 提供了 2 个关键字来过滤获取的数据。
因此要检索为对象发布的最新“x”评论
https://graph.facebook.com/[OBJECTID]?limit=[X]&offset=0
检索下一个“X”评论(逐页)
https://graph.facebook.com/[OBJECTID]?limit=[X]&offset=[X*PAGENo]
希望答案对您来说足够清楚。
| 归档时间: |
|
| 查看次数: |
22282 次 |
| 最近记录: |