Facebook的图谱API显示的网页Feed

时间:2017-03-05 19:59:30

标签: java facebook facebook-graph-api

我正在制作一个Java应用程序,用于浏览Facebook公共页面中较新和较旧的帖子。

我有以下代码来检索完整的帖子提要:

    String id = "<my app id>";
    String secret = "<my app secret>";
    String accessToken = "<my app access token>";
    String pageId = "<my page id>";

    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setRestBaseURL("https://graph.facebook.com/v2.8/");
    Facebook fb = new FacebookFactory(cb.build()).getInstance();
    fb.setOAuthAppId(id, secret);
    fb.setOAuthAccessToken(new AccessToken(accessToken));

    ResponseList<Post> posts = fb.getFeed(pageId, (new Reading()).limit(100).includeHidden(true));
    Set<String> postIds = new LinkedHashSet<>();

    do {
        for (Post p : posts) {
            postIds.add(p.getId());
        }
        posts = fb.fetchNext(posts.getPaging());
    } 
    while (posts != null && !posts.isEmpty());

    System.out.println("Number of posts: " + postIds.size());

几个月前(十一月至十二月),使用此代码进行特定页面总能得到一份包含15000多个帖子的列表。几天前,我没有做任何修改,只有3000多个帖子。我在其他页面上看到了类似的结果。但是,在前段时间使用带有15000+帖子ID的旧文件时,我确定许多未在较小Feed中显示的帖子仍然存在,可以使用图谱API进行访问。

为什么不再出现很多帖子(特定情况下为12000+)?这是Graph API中的错误吗?有没有其他方法来检索完整的帖子提要?

注意:我使用的是Facebook4j 2.4.8。

0 个答案:

没有答案