Я начал с чтения « Отображение сообщений Facebook» пользователям, не использующим Facebook, но я не могу поверить, что это сложно получить публичный фид из Facebook.
Страница, на которой я хочу фид, является общедоступной, вам не нужно входить в нее.
Правильно ли я предполагаю, что мне нужна access_token, чтобы получить эту информацию, пытаясь получить доступ к URL без каких-либо ошибок в OAuth.
Итак, поток должен быть таким (массово, чрезмерно сложным):
Предполагая, что пользователь не находится на Facebook, что вы делаете, используйте универсальное приложение для получения фида?
Это кажется действительно сложным, поскольку никакая другая причина, кроме того, что Facebook хочет знать ВСЕ, что происходит, было бы проще сделать cURL и очистить контент от общедоступного URL-адреса с помощью XPath.
Любая помощь в этом была бы замечательной.
Спасибо, Джейк
РЕДАКТИРОВАТЬ
Редактирование, чтобы показать это, не является точным дубликатом.
У меня было это с помощью access_token, но теперь он терпит неудачу, токен истек, и я больше не могу использовать его для получения информации из публичной стены.
Я попытался продлить срок действия этого токена, используя методы, упомянутые в других сообщениях, но это не сработало, и срок действия не был расширен – мы сейчас здесь, с недопустимым токеном и дальше.
Кажется, что ручной процесс утверждения запроса OAuth означает, что невозможно запрограммировать фид публичной страницы.
Два года спустя вы можете программно сделать это с помощью приложения Facebook (пример с использованием PHP и Slim): https://developers.facebook.com/apps/
$base_api="https://graph.facebook.com/"; $client_id="XXXXXX"; $app_secret="XXXXXX"; //get a profile feed (can be from a page, user, event, group) $app->get('/feed/:profileid/since/:start_date', function ($profile_id,$start_date) { $start_time=date('m/d/Y h:i:s',$start_date); $request = new FacebookRequest( getSession(), 'GET', '/'.$profile_id.'/feed?since='.$start_time ); $response = $request->execute(); $graphObject = $response->getGraphObject(); //do something with $graphObject }); function getSession(){ $session = new FacebookSession(getAccessToken()); return $session; } function getAccessToken(){ global $base_api, $client_id, $app_secret; $url=$base_api."oauth/access_token?client_id=".$client_id."&client_secret=".$app_secret."&grant_type=client_credentials"; $str = file_get_contents($url); $token = str_replace ( "access_token=" , "" , $str ); return $token; }
У меня есть некоторый успех при чтении в прямом фиде без токенов и т. Д. (С использованием сороки, простейшего или запроса).
http://www.facebook.com/feeds/page.php?format=rss20&id= …….. http://www.facebook.com/feeds/page.php?format=atom10&id= .. ……
найдено по адресу : http://ahrengot.com/tutorials/facebook-rss-feed/
Facebook
изменил способ извлечения фида общедоступной страницы Facebook, так как другие ответы были опубликованы.
Проверьте мой ответ / вопрос . Это не PHP
, но он предоставляет нужные вам URLs
и процессы.