【问题标题】:How to get the time at which a comment was posted如何获取发表评论的时间
【发布时间】:2011-07-22 11:00:43
【问题描述】:

我正在尝试使用 facebook api 从用户的新闻源中获取最后的帖子以及附加的 cmets。从查询到 STREAM 表,很容易获得有关这些 cmets 的信息,例如文本、演员 ID 等……

var query = FB.Data.query('SELECT post_id, actor_id, app_data, message, attribution, created_time, cmets FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid={0} AND type="newsfeed") LIMIT 20', response.id);

但它似乎不包括发布这些 cmets 的时间戳(因此我可以使用“created_time”获取帖子本身的时间戳,但不能获取附加到它的 cmets)。 有人知道这样做的方法吗? 帮助将不胜感激。 非常感谢。

【问题讨论】:

  • 谢谢,但它似乎没有包含在查询返回的“cmets”数组中
  • actor_id "647177129" 我刚刚得到以下字段:actor_name actor_pic actor_profile 消息

标签: facebook facebook-graph-api facebook-fql


【解决方案1】:

这是对表 stream 的查询的示例响应

你可以用类似的东西来获取它

var query = FB.Data.query('SELECT post_id, actor_id, app_data, message, attribution, created_time, comments FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid={0} AND type="newsfeed") LIMIT 20', response.id);
query.wait(function(rows) {
    for (var i = 0; i < rows.length; i++) {
        if (rows[i].stream_post.comments.count > 0) {
            var comments_list = rows[i].stream_post.comments.comment_list;
            for (var j = 0; j < comments_list.length; j++) {
                var comment = comments_list[j];
                alert(comment.time);//timestamp
            }
        }
    }
});

希望这会有所帮助。

免责声明:尚未调试 JavaScript。可能存在拼写错误。

【讨论】:

  • 那行得通,非常感谢 Naveen,只是很奇怪,firebug 没有在我 console.logged 的​​数组中显示该字段
  • 乐于助人。 :) 如果你觉得这有帮助,请mark it as answer
【解决方案2】:

在:

$resultObject->comments->comment_list[0]->time 

评论创建时间有unix时间戳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 2016-03-21
    • 2014-08-12
    相关资源
    最近更新 更多