У меня есть канал Facebook, расположенный по этому URL-адресу: https://www.facebook.com/feeds/page.php? id = 131872766880896 & format = json.
Это в формате JSON, как указано в URL-адресе.
Когда я ввожу этот URL-адрес в своем браузере, я получаю действительный JSON. Однако, если бы я запросил этот URL-адрес со страницы PHP, используя PHP-скрипт, например file_get_contents, затем json_decode, или jQuery getJSON, я получил бы HTML-ответ, который буквально представляет собой страницу Facebook с просьбой обновить мой браузер. HTML-код этого ответа можно увидеть, введя указанный выше URL-адрес в валидатор JSON Lint.
Я должен использовать этот метод, потому что сайт, для которого я создаю канал, не имеет связанного с ним идентификатора приложения, поэтому я не могу получить токен доступа, если не используется личная учетная запись Facebook, и это также неосуществимый вариант из-за устаревания online_access, что означает, что мне придется вручную восстанавливать долгоживущий токен доступа каждые 60 дней. Или есть другое решение? Мне нужно отобразить только последнюю запись в ленте страницы, поэтому я подумал о чем-то вроде получения содержимого в $ data ['entry'] [0] ['content'], где $ data - это объект JSON.
Сообщение здесь, Загрузка JSON-сообщений ленты Facebook, показывает, что у пользователя есть закончил тем, что загрузил его через PHP, а затем заполнил его страницу через AJAX. Но, как уже упоминалось выше, загрузка его через PHP дает мне блок кода HTML, который был сгенерирован путем ввода URL-адреса канала Facebook, который я хочу использовать, в JSON Lint. Вот как выглядит мой PHP-код:
<?php
$feed = file_get_contents('https://www.facebook.com/feeds/page.php?id=131872766880896&format=json');
echo $feed;
?>
1 ответ
Facebook проверяет HTTP-заголовок пользовательского агента, поэтому, если вы хотите получить доступ к ресурсам, которые «защищены» таким образом, вы должны отправить заголовок пользовательского агента с вашим запросом, который выглядит как текущий, «настоящий» браузер.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.