Facebook RSS · 3 min read · Sep 21, 2025

Как настроить приложение для чтения RSS-лент Facebook для вашего блога - Страница 2

3 Настройка библиотеки клиента PHP5

Теперь мы загрузим библиотеку клиента PHP в директорию на нашем веб-сайте, где будет находиться наше приложение для чтения лент (например, http://fb.howtoforge.com/fb/htf_feed_reader/). В этом примере я предполагаю, что корневая директория fb.howtoforge.com - /var/www (откорректируйте следующие команды, если у вас другая). Итак, сначала создадим директорию /var/www/fb/htf_feed_reader:

mkdir -p /var/www/fb/htf_feed_reader

Затем мы загрузим библиотеку клиента PHP в нее и распакуем:

cd /var/www/fb/htf_feed_reader  
wget http://developers.facebook.com/clientlibs/facebook-platform.tar.gz  
tar zxvf facebook-platform.tar.gz

Это создаст директорию facebook-platform/ с поддиректорией client/, которая содержит клиентские библиотеки для PHP 5 (facebook.php и facebookapi_php5_restlib.php). Мы копируем эти два файла в /var/www/fb/htf_feed_reader и удаляем facebook-platform.tar.gz и facebook-platform:

cp facebook-platform/client/facebook.php .  
cp facebook-platform/client/facebookapi_php5_restlib.php .  
rm -rf facebook-platform.tar.gz facebook-platform

4 Наше Первое Простое Приложение

Теперь мы можем написать наше первое, очень простое приложение. Сначала создадим файл appinclude.php, который содержит некоторые основные настройки, такие как API Key, Secret и Callback URL, и который мы будем включать во все файлы нашего приложения:

vi /var/www/fb/htf_feed_reader/appinclude.php

| require_login(); //[todo: change the following url to your callback url] $appcallbackurl = 'http://fb.howtoforge.com/fb/htf_feed_reader/'; //catch the exception that gets thrown if the cookie has an invalid session_key in it try { if (!$facebook->api_client->users_isAppAdded()) { $facebook->redirect($facebook->get_add_url()); } } catch (Exception $ex) { //this will clear cookies for your application and redirect them to a login prompt $facebook->set_user(null, null); $facebook->redirect($appcallbackurl); } ?> |

Затем мы создаем index.php, файл, который будет выполняться, когда вызывается URL обратного вызова (http://apps.facebook.com/htf_feed_reader). В этом простом примере он просто выведет что-то вроде привет плюс идентификатор пользователя Facebook:

vi /var/www/fb/htf_feed_reader/index.php

| hello $user

"; ?> |

Теперь откройте браузер и введите либо URL обратного вызова (http://fb.howtoforge.com/fb/htf_feed_reader), либо URL канваса (http://apps.facebook.com/htf_feed_reader) вашего приложения. В любом случае вы должны быть перенаправлены на страницу, подобную этой:

Нажмите на кнопку Войти в HowtoForge RSS Feed Reader. На следующей странице оставьте все флажки отмеченными и нажмите Добавить HowtoForge RSS Feed Reader, чтобы установить это приложение в вашем аккаунте:

Когда приложение установлено, первое, что происходит, это вызов URL обратного вызова (http://fb.howtoforge.com/fb/htf_feed_reader), так что вы должны ожидать увидеть что-то вроде hello . И действительно, это происходит, что означает, что наша настройка работает:

На вашей странице профиля теперь вы должны найти HowtoForge RSS Feed Reader в широкой колонке (отображая стандартный FBML, который мы указали, когда настраивали приложение на Facebook - наше простое приложение еще не производит свой собственный FBML), а также пункт меню для него в левом навигационном меню:

Теперь давайте немного изменим index.php и добавим поле ввода, в которое вы можете ввести текст, который затем будет отображаться на странице профиля вместо стандартного FBML:

vi /var/www/fb/htf_feed_reader/index.php

| hello $user

"; if (isset($_REQUEST['profiletext'])) { $facebook->api_client->profile_setFBML($_REQUEST['profiletext'], $user); $facebook->redirect($facebook->get_facebook_url() . '/profile.php'); } echo '
'; echo '
'; echo ''; echo '
'; ?>
|

Как вы видите, FBML на странице профиля можно изменить с помощью функции $facebook->api_client->profile_setFBML().

Теперь снова перейдите на страницу канваса вашего приложения (http://apps.facebook.com/htf_feed_reader в моем случае). Теперь вы должны увидеть текстовое поле под строкой привет …:

Введите текст и нажмите кнопку Отобразить текст на профиле:

Затем снова перейдите на свою страницу профиля. Теперь вы должны найти там текст, который вы ввели в текстовом поле:

В следующем примере мы используем имитацию AJAX для динамического обновления содержимого страницы канваса и профиля:

vi /var/www/fb/htf_feed_reader/index.php

| hello $user

"; $fbml = <<Это подзаголовок


EndHereDoc; $facebook->api_client->profile_setFBML($fbml, $user); echo "

следующая форма была добавлена в профиль:

"; echo $fbml; ?>
|

На странице канваса вы теперь должны увидеть новое текстовое поле:

Введите текст и нажмите кнопку Нарисовать текст ниже…

…и текст должен немедленно появиться под кнопкой:

Та же функциональность теперь доступна на странице профиля:

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.