从边缘 /[pageId]/posts 过滤结果

Filtering results from edge /[pageId]/posts

我想在我的网站上显示最新的 N 条 Facebook 帖子。

我正在使用这个简单的代码:

var FB = require('fb')

FB.api('/flourandfire/posts', 'get', { fields: [ 'message', 'picture' ], access_token: '1694494XXXXXXXX|1ba36298123bbf9689942fXXXXXXXXXX' }, 
function (res) {
  if (!res || res.error) {
    console.log(!res ? 'error occurred' : res.error)
    return
  }
  console.log(res)
})

但是,我需要能够进行某种过滤,因为 Feed 中有 "noise",因为直接 link 与 Instagram(这导致带有图片的短帖子,我不想包含在网站的提要中)

我基本上需要以某种方式 "differentiate" 特定的帖子,然后将其放置在网站上。

可以 获取 100 个帖子并根据特定标签过滤自己(例如 #pub;但是,存在大量 Instagram 帖子的风险,更多超过 100 个,最终网站上的帖子为零。

你会如何解决这个问题?

没有官方过滤,我会这样做:

  1. 通过将limit参数设置为N来获取N个条目
  2. 自行筛选
  3. 如果筛选后少于 N 个元素,请使用另一个 API 调用来获取更多项
  4. 从数字 2 开始重复

尽管只是一个想法,您也可以增加初始限制 - 但它通常会导致 API 调用变慢,因此请小心。