ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Добавление новостной ленты Facebook на сайт

Добавление новостной ленты Facebook на сайт

Некоторое время назад я хотел добавить пользовательский Facebook-канал на сайте для того, чтобы отображать записи из клиента Facebook на странице. Сайт был неплохой и и я не хотел портить стандартным Facebook фирменным фреймом-лентой новостей.

Так я боролся через Facebook сайт разработчиков и после нескольких недель беспорядков я был в состоянии установить вместе PHP-скрипт, который взаимодействует с Facebook API и извлекает данные канала, чтобы позволить вам отображать это на твое усмотрение!

Вы можете скачать стандартный плагин для канала Facebook, но для кто хочет приключений я даю краткий обзор того, как получить и отобразить данные json из Facebook в случае, если вы захотели попробовать это самостоятельно.

Вот основная последовательность событий:

1) Зарегистрироваться как разработчик с Facebook, создать “приложение” и получить маркер доступа.

Перейти на страницу разработчиков: https://developers.facebook.com/ и зарегистрироваться там.

2) найти ID страницы в Facebook страницу, которую вы хотите отобразить.

Если у вас есть Facebook страницу с URL вроде этого: https://www.facebook.com/AndreyEx затем идентификатор страницы-это просто ‘AndreyEx’. Если ваш URL-Адрес страницы является структурированный такой: https://www.facebook.com/pages/name-of-business/1525282521084169 затем идентификатор страницы на самом деле число в конце, так что в этом случае ‘1525282521084169‘.

3) открыть в формате json.

Просто поставьте ваш ID страницы и маркер доступа в URL ниже и вы теперь имеете доступ к json-массиву данных.

https://graph.facebook.com/YOUR_PAGE_ID/posts?access_token=YOUR_ACCESS_TOKEN

Это будет выглядеть примерно так:

Добавление новостной ленты Facebook на сайт

4) получать данные и расшифровать его.

$page_id = 'YOUR_PAGE_ID'; $access_token = 'YOUR_ACCESS_TOKEN'; //Get the JSON 
$json_object = @file_get_contents('https://graph.facebook.com/' . $page_id . '/posts?access_token=' . $access_token); //Interpret data 
$fbdata = json_decode($json_object);

5) цикл по массиву данных, и отображения каждого поста

foreach ($fbdata->data as $post ) { 
$posts .= '<p><a href="' . $post->link . '">' . $post->story . '</a></p>'; 
$posts .= '<p><a href="' . $post->link . '">' . $post->message . '</a></p>'; 
$posts .= '<p>' . $post->description . '</p>'; 
$posts .= '<br />'; 
}

Собирая все вместе получаем:

$page_id = 'YOUR_PAGE_ID'; $access_token = 'YOUR_ACCESS_TOKEN'; //Get the JSON 
$json_object = @file_get_contents('https://graph.facebook.com/' . $page_id . '/posts?access_token=' . $access_token); //Interpret data 
$fbdata = json_decode($json_object); 
foreach ($fbdata->data as $post ) { 
$posts .= '<p><a href="' . $post->link . '">' . $post->story . '</a></p>'; 
$posts .= '<p><a href="' . $post->link . '">' . $post->message . '</a></p>'; 
$posts .= '<p>' . $post->description . '</p>'; 
$posts .= '<br />'; 
} //Display the posts echo $posts;

Некоторые заметки:

1) в Facebook страницы должны быть публичными, это означает, что должен в состоянии получить доступ к странице без необходимости входа в Facebook.

2) Если веб-сервер с PHP настройках есть опция allow_url_fopen отключен, то функции file_get_contents не работают. Если это так, то у вас есть два варианта: либо установите его в положение ON путем редактирования вашего PHP.ini-файл (на Apache), а параметр опция allow_url_fopen = on.

Если вы боретесь, чтобы получить свой канал для работы или просто не хотите тратить время, выясняя, как отобразить его так, как вы хотите затем рассмотреть вопрос о установки плагина. Он доступен как плагин для WordPress, настраиваемый и позволяет отображать всю ширину фотографии, видео, события, комментарии и многое другое.

Скачать плагин WordPress для Facebook.

Exit mobile version