Я пытаюсь получить последний пост на Facebook. Я работаю с facebook php SDK v4 (https://github.com/facebook/facebook-php-sdk-v4/).
Я добавил библиотеку (php sdk) для композитора: composer require facebook/php-sdk-v4
, Мой appid / секрет приложения и идентификатор страницы верны.
$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 (). Когда я ищу в других темах онлайн, они часто этим пользуются. Но что я делаю не так?
Согласно документы Вы можете получить фид страниц, используя следующий код:
$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);
V4 API использовал систему Session, которую можно найти здесь:
https://developers.facebook.com/docs/php/FacebookSession/4.0.0
Создайте переменную сеанса Facebook, и затем вы можете использовать это $session
в оригинальном v4 методе запроса.
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
Других решений пока нет …