Я знаю, что этот вопрос задавали несколько раз, но я не могу найти решение из других сообщений:
Моя цель - прочитать ленту на Facebook с одного из моих сайтов на Facebook! На этом сайте есть несколько постов с несколькими фотографиями.
При первом звонке, который вы видите внизу, я всегда получаю только одно фото, а мне нужны все. Для этого я делаю второй запрос, который должен предоставить мне все детали для этого сообщения, если я использую версию 2.1, которую я изменил в FacebookRequest.php.
Вот мой код:
FacebookSession::setDefaultApplication('yyy','xxxxx');
$session = new FacebookSession('yyy|xxxxx');
$url = '/{pageid}/feed';
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
graphObject = $response->getGraphObject();
$rawFeed = $graphObject->asArray();
foreach($rawFeed['data'] as $item) {
$x = explode('_',$item->id);
$url = "/".$x[0];
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
$graphObject = $response->getGraphObject();
$object = $graphObject->asArray();
echo "<pre>";var_dump($object);echo "<pre>";
}
Если я использую этот код, я всегда получаю сообщение об ошибке:
Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message '(#100) Requires user session'
Почему первый запрос возвращает обратно данные, а мерзкий упирается в это исключение!
Изменить 1
Найдено решение проблемы сеанса (Токен доступа Facebook для страниц) - (верхний ответ ), но все еще застрял на проблеме с фотографией:
Теперь я получаю данные из Facebook, но не прикрепляю фотографии к сообщению!
Вот так у меня больше нет проблем с аутентификацией
$accessToken = "{accestToken from GRAPH API EXPLORER}";
$session = new FacebookSession($accessToken);
$url = "/{myPersonalFB-ID}/accounts";
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
$graphObject = $response->getGraphObject();
$pages = $graphObject->asArray();
$pageAccesstoken = false;
foreach($pages['data'] as $page)
{
if($page->id != "{MyPageID}") continue;
else {
$pageAccesstoken = $page->access_token;
}
}
$session = new FacebookSession($pageAccesstoken);
$url = '/{MyPageID}/feed';
...
...