我正在使用Facebook4j
访问页面的 Facebook API。
我可以使用以下方法获取页面的新帖子列表
connection.getFeed()
并使用以下方式获取帖子的评论:
post.getComments()
但我也希望能够获得对页面帖子的新评论(同时忽略我已经获取的评论)。 除了重新搜索每个帖子的评论之外,您知道如何做到这一点吗?
最佳答案
当前的 Facebook4j API 无法做到这一点。
如果您查看 their page 上不支持的功能列表你会看到:
应用程序 API - Application - Facebook Developers
开放图 API - Open Graph - Facebook Developers
您正在寻找的是新评论的实时更新。
您可以看看this guide关于订阅实时更新。
如果您查看我上面提供的实时更新链接,您会发现实时更新仅限于某些类型的对象及其字段的子集,这些字段也在此处列出。
可用订阅的有效对象类型是用户和 page Graph API 对象(其中包括 feed 字段)。
实时更新仅表明特定字段已更改,不包括这些字段的值。因此,这只会使应用程序更加高效,因为它们确切地知道更改何时发生,并且在未发生更改时不需要依赖连续甚至定期的 Graph API 请求。
您将知道对象的哪个字段(用户/页面/权限/付款)已更改,在您的情况下为 Feed。
但除此之外,您还必须浏览所有您感兴趣的帖子和评论 - 尽管您可能可以高效地做到这一点。为此,您可以保留 Facebook4j API 代码,该代码获取提要并在更新时调用它。或者更好的是升级代码以仅跟踪您想要的更改等等。
有this example here (SO)关于如何在java中获取facebook实时更新。您会明白这一点,并且可能会构建出更好的东西。
This answer建议使用 Spring Social Facebook因为它有一个实时更新 Controller ,用于处理来自 Facebook 的实时更新回调,而 RestFB
和 Facebook4j
无法做到这一点。
关于Facebook API 获取帖子的新评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32057843/