我试图从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()。当我在网上搜索其他主题时,他们已经使用了很多。但是我做错了什么?
答案 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 */