我正在编写一些脚本来下载我的Facebook页面内容。我正在使用的图表API是网页feed ege。
我首先调用feed API并递归调用其nextpage属性来获取旧内容。为了保存对Facebook的呼叫,我设置了一个覆盖窗口。当我检测到退回的帖子太旧时,我停止呼叫nextpage。
这里的问题是人们可能会评论很老的帖子。因此,有限覆盖窗口可能会遗漏这些评论。
无论如何根据上次评论的时间返回Feed而不下载整个页面内容?
答案 0 :(得分:2)
我一直在玩Facebook API。有一件事是肯定的,如果你想能够在非常老的帖子上覆盖这个评论窗口,请考虑使用Facebook实时更新。
文档网址:
https://developers.facebook.com/docs/graph-api/real-time-updates/v2.3
最棒的是,在v2.3中,你会得到注释的全部内容,因此如果你正确处理推送的实时,就不需要额外的API调用。
我诚实地认为这是最简洁,最流畅的实施方式,可以跟踪网页Feed的更新,并且在扩展时不会有滥用Facebook API限制的风险。
我必须警告实时更新可能有一定的实现范围,但如果您想要在不需要进行大量API调用的情况下处理旧帖子上的评论的最佳方式,请使用Facebook API实时更新。
目前在PULLING方法中没有(体面的?)过滤器或方法能够对“新添加的注释”进行过滤和排序。我过去玩了一些特殊的GRAPH API查询,但他们让我达到API限制,因为我的Calls的'权重'很重。我们说FQL即将弃用,因此无需关注此选项。
编辑1 :我注意到你提到'脚本',你在谈论脚本语言吗?因为在这种情况下,实时更新可能不是解决方案。取决于您的堆栈/技术实现细节:)