Facebook PHP SDK 4 - 获取最后 5 个帖子

Facebook PHP SDK 4 - get last 5 posts

我正在尝试获取最后五个帖子。我创建了以下内容:

try {
    // Returns a `Facebook\FacebookResponse` object
    $response = $this->fb->get(
    '/'.$page_id.'/posts',
    $access_token
    );

} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

$graphNode = $response->getGraphEdge();
echo "<pre>";
print_r($graphNode);
echo "</pre>";
exit;

如何限制输出?例如,我不想返回 100 条记录,而是只想要 5 条。我知道我需要使用 'limit=5',但不知道将它放在哪里。

此外,通过上面的脚本,我得到了一个包含各种信息的大量 Facebook\GraphNodes\GraphEdge Object。没有办法只为帖子(例如标题、body、图片、日期)获得更小更精致的 object?

正如我在评论中告诉您的那样,您需要添加到 url 您正在调用的所有这些参数,例如 limit 或您想要的字段。

所以应该是这样的

$response = $this->fb->get(
    '/'.$page_id.'/posts?fields=id,title,created_time&amp;limit=‌​5',
    $access_token
 );

如果您想知道哪些字段可用,您可以使用 documentation,但根据您使用的 API 版本,此列表可能不准确。另一种方法是在指定字段之前检查对象。