从Facebook页面获取帖子列表

时间:2017-11-11 04:31:46

标签: facebook facebook-graph-api restfb

我尝试使用restfb(java)从给定的facebook页面集中获取帖子列表

列出fbPages = Arrays.asList(" 178697151159 / posts"," 538560813021153 / posts");

JsonObject fetchObjectsSubResults = client.fetchObjects(fbPages,JsonObject.class,Parameter.with(" fields"," shares,created_time"),Parameter.with(" limit& #34;,5));

但是我从facebook api那里得到了一个运行时错误,如下所示。是否有任何机构可以帮助我解决这个问题,或者这是不可能的(

线程中的异常" main" com.restfb.exception.FacebookOAuthException:收到类型OAuthException的Facebook错误响应:(#803)您请求的一些别名不存在:178697151159 / posts?,538560813021153 / posts? (代码803,子代码为null)     at com.restfb.DefaultFacebookClient $ DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:1278)     at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:1195)     at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1136)     在com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:1058)     在com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:1020)     at com.restfb.DefaultFacebookClient.fetchObjects(DefaultFacebookClient.java:476)     在main.main(main.java:75)

1 个答案:

答案 0 :(得分:0)

我建议每页使用1个电话。它应该看起来像:

Connection<Post> postConnection = client.fetchConnection(pageId+ "/posts", Post.class, Parameter.with("fields","shares,created_time"), Parameter.with("limit","5"));

根据您的使用情况,您可以使用for循环遍历postConnection以获取所有帖子,或者使用postConnection.getData()从结果集的第一页获取数据。

在这两种情况下,您最终都可以使用Post类型并访问您感兴趣的字段。其他字段保留为null。

BTW在一次通话中使用多个ID或一个接一个地请求这些ID对Facebook通话没有任何影响。内部计算的金额是相同的;在你的情况下2。

相关问题