Получить последнее сообщение со страницы Facebook (канал)

Я пытаюсь получить последний пост на 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 (). Когда я ищу в других темах онлайн, они часто этим пользуются. Но что я делаю не так?

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);

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 */
0

Другие решения

Других решений пока нет …