Java Facebook';s Graph API显示的页面帖子要少得多';s饲料
我正在制作一个Java应用程序,用于从Facebook公共页面浏览较新和较旧的帖子 我有以下代码用于检索完整的文章提要:Java Facebook';s Graph API显示的页面帖子要少得多';s饲料,java,facebook,facebook-graph-api,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>"; Conf
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());
String id=”“;
字符串secret=“”;
字符串accessToken=“”;
字符串pageId=“”;
ConfigurationBuilder cb=新的ConfigurationBuilder();
cb.setRestBaseURL(“https://graph.facebook.com/v2.8/");
FacebookFB=newFaceBookFactory(cb.build()).getInstance();
fb.setOAuthAppId(id,secret);
fb.setOAuthAccessToken(新的AccessToken(AccessToken));
ResponseList posts=fb.getFeed(pageId,(newreading()).limit(100).includeHidden(true));
Set postIds=new LinkedHashSet();
做{
职位(p:职位){
postIds.add(p.getId());
}
posts=fb.fetchNext(posts.getPaging());
}
while(posts!=null&&!posts.isEmpty());
System.out.println(“帖子数量:+postIds.size());
几个月前(11月至12月),将此代码用于特定页面时,我总能得到一个包含15000多篇帖子的列表。几天前,没有做任何修改,我只得到了3000多个帖子。我在其他页面上也看到了类似的结果。然而,使用一个较旧的文件和一段时间前制作的15000多个post id,我确定许多没有在较小提要中显示的post仍然存在,并且可以使用graphapi访问
为什么不再出现很多帖子(针对该特定案例,超过12000个帖子)?它是Graph API中的一个bug吗?有没有其他方法可以检索完整的文章提要
注意:我使用的是Facebook4j 2.4.8。它与
feed
API和访问令牌有关。你能试试/posts
端点,看看你是否得到了所有的帖子吗?@DarshanMehta是的,我也试过/posts
,但我得到的帖子较少,因为提要还包括来自访问者的帖子。不知道访问令牌是否与此有关。请检查您的访问令牌是否仍然具有管理页面权限(在FB的graph API explorer:)@DarshanMehta我使用了浏览器给我的访问令牌,检查了所有权限,但仍然不起作用:(你能转到graph API explorer并尝试从那里检索帖子吗?看起来你的令牌权限最近发生了变化,因此,你无法看到那么多的帖子。这可能与提要API和访问令牌有关。你能尝试/posts
端点并查看是否获得了所有帖子吗?@DarshanMehta是的,我也尝试了/posts
,但我得到的帖子较少,因为提要还包括来自访问者的帖子。不知道访问令牌是否与此有关。您能否检查您的访问令牌是否仍然具有管理页面权限(在FB的graph API explorer中:)@DarshanMehta我使用了浏览器给我的访问令牌,检查了所有权限,但仍然不起作用:(您可以转到graph API explorer并尝试从那里检索帖子吗?看起来您令牌的权限最近发生了更改,因此,您无法看到那么多帖子。