从facebook页面获取最新帖子(feed)

时间:2016-03-30 14:37:48

标签: php facebook facebook-graph-api sdk app-secret

我试图从Facebook页面获取最新的facebook帖子。我正在使用 facebook php SDK v4 https://github.com/facebook/facebook-php-sdk-v4/)。

我已将库(php sdk)添加到作曲家:composer require facebook/php-sdk-v4。我的appid / app机密和页面ID都是正确的。

$config = array();
$config['app_id'] = 'myappid';
$config['app_secret'] = 'myappsecret';

$facebook = new \Facebook\Facebook($config);

$pageid = 'mypageid';

try {

    $pagefeed = $facebook->api("/" . $pageid . "/feed");
}
catch(Exception $ex){
    echo $ex->getMessage(); die;
}

问题是我收到错误调用未定义的方法Facebook \ Facebook :: api()。当我在网上搜索其他主题时,他们已经使用了很多。但是我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据docs,您可以使用以下代码获取网页Feed:

$request = new FacebookRequest(
  $fbApp,
  '{access-token}',
  'GET',
  '/{page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */

来源https://developers.facebook.com/docs/graph-api/reference/v2.5/page/feed

请注意,该页面上的示例默认为HTTP版本而不是PHP SDK。

编辑:为FacebookRequest功能添加了正确的参数。

需要访问令牌和$app实例,如下所示。

Facebook\FacebookRequest($fbApp, '{access-token}', 'GET', '/{page-id}/feed');

可以使用getAccessToken()功能创建访问令牌,如下所示。

$access_token =  $facebook->getAccessToken();
$facebook->setAccessToken($access_token);

API的V4使用了可在此处找到的会话系统: https://developers.facebook.com/docs/php/FacebookSession/4.0.0

创建Facebook会话变量,然后您可以在原始v4请求方法中使用$session

$request = new FacebookRequest(
  $session,
  'GET',
  '/{page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */