0

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

我已将库(php sdk)添加到 composer: composer require facebook/php-sdk-v4。我的 appid / app secret 和 page 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;
}

问题是我收到错误Call to undefined method Facebook\Facebook::api()。当我在网上搜索其他主题时,他们经常使用这个。但是我做错了什么?

4

1 回答 1

0

根据文档,您可以使用以下代码获取页面提要:

$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 Session 变量,然后您可以$session在原始 v4 Request 方法中使用它。

$request = new FacebookRequest(
  $session,
  'GET',
  '/{page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
于 2016-03-30T14:53:40.263 回答