【问题标题】:Getting posts from a Page using RestFB API使用 RestFB API 从页面获取帖子
【发布时间】:2025-10-08 17:15:01
【问题描述】:

我知道可以从用户墙或用户供稿中获取所有帖子 但我无法理解如何使用 RestFB 在特定时间段内从特定页面(如“可口可乐”)获取所有帖子。 示例:我想获取日期:2014 年 1 月 1 日至 2014 年 1 月 1 日之间的所有帖子

请帮忙。

【问题讨论】:

    标签: java facebook facebook-graph-api restfb


    【解决方案1】:

    当您想通过开始和结束时间来限制它时,使用 fetchConnection API(“page_id/posts”)获取页面帖子并非易事。最好的方法是使用 fql 查询。类似于以下代码 sn-p 的内容。

        String query = "select post_id, created_time from stream where "
                + "source_id = " + pageId + " and created_time > " 
                + startTimeInSec + " and created_time < " + endTimeInSec 
                + " limit 500";
        FacebookClient fbClient = new DefaultFacebookClient(accessToken);
        List<FqlPost> fqlPosts = fbClient.executeFqlQuery(query, FqlPost.class);
        for (FqlPost pagePost : fqlPosts) {            
            System.out.println(pagePost);
        }
    
    public static class FqlPost {
        @Facebook("post_id")
        String post_id;
    
        @Facebook("created_time")
        String created_time;
    
        @Override
        public String toString() {
            return String.format("%s,%s", post_id, created_time);
        }
    }
    

    【讨论】:

    • 在此值得一提的是,Facebook 将在本月底(2015 年 4 月)弃用 FQL api,因此这将不再有效。