使用Facebook图形API以REVERSE时间顺序检索状态的注释

时间:2012-07-02 20:54:40

标签: c# facebook facebook-graph-api

我正在尝试以REVERSE时间顺序从Facebook的Graph API中检索状态评论,这是最新的评论应该在最顶层。我不确定这是否可能。

我知道Facebook默认按时间顺序降序排列帖子,默认情况下评论按时间顺序递增(最旧)。默认情况下,我的意思是在Facebook.com以及从API中检索它们的方式。

使用Graph API我可以按降序检索状态,但是按升序返回注释。我想从API中以相反的顺序获取注释,而不必在我的程序中对它们进行排序。原因是该程序仅限于它将下载的注释数量,因此设置limit = xx将实际检索第一个xx注释,而不是最新的xx注释。这对我没有好处,因为如果状态有500个注释,并且xx = 100,它将始终检索相同的注释集(前100个要发布)。

我可以找到的Html请求的最佳参数是'order_by',它查找时间/日期参数(updated_time),但这实际上不起作用,因为它已经被updated_time(但是升序)排序。如果可能的话,我想指定order_by降序updated_time。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

使用API​​没有直接的方法,但实现此功能的一种方法是检索状态的所有注释,将它们分配给数组,然后以相反的顺序遍历结果。

以下示例从Guinness Ireland页面获取最后一次状态更新,并将所有消息分配到一个数组中。一旦我们有了这个数组,我们可以用循环吐出结果。

示例:
$ data = file_get_contents('https://graph.facebook.com/GuinnessIreland/statuses?limit=1&access_token='。$ ACCESS_TOKEN);

$ comments = json_decode($ data);
$ messages =($ comments-> data [0] - > comments-> data);

for($ counter = count($ messages); $ counter> = 0; $ counter = $ counter - 1){
echo $ messageArray [$ counter] - > message;
echo $ messageArray [$ counter] - > created_time;
}

答案 1 :(得分:0)

您可以通过此网址使用get请求获取评论..您将获得json响应。

https://graph.facebook.com/ “StatusID”/注释=极限500安培; =的access_token “的accessToken”

StatusID = 132343454_54346345          userID statusid accessToken =用户访问令牌。

你会得到JSOn的回应。得到所有细节,如评论,纪念,消息的用户... 你会得到JSON的回应。解析它们。通过连接url来检查下一页的注释 JSON页面底部“page”对象中的“next”字符串。 享受。