Facebookアプリ · 1 min read · Sep 21, 2025

ブログのためのFacebook RSSフィードリーダーアプリケーションの設定方法 - ページ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/というディレクトリが作成され、その中にPHP 5用のクライアントライブラリ(facebook.phpおよびfacebookapi_php5_restlib.php)を含むclient/サブディレクトリが作成されます。これらの2つのファイルを/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 最初のシンプルなアプリケーション

今、私たちは最初の非常にシンプルなアプリを作成できます。まず、APIキー、シークレット、およびコールバックURLなどの基本設定を含むappinclude.phpファイルを作成し、アプリのすべてのファイルに含めます:

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

| require_login(); //[todo: 以下のURLをコールバックURLに変更してください] $appcallbackurl = 'http://fb.howtoforge.com/fb/htf_feed_reader/'; //無効なsession_keyがクッキーに含まれている場合にスローされる例外をキャッチします try { if (!$facebook->api_client->users_isAppAdded()) { $facebook->redirect($facebook->get_add_url()); } } catch (Exception $ex) { //これにより、アプリケーションのクッキーがクリアされ、ログインプロンプトにリダイレクトされます $facebook->set_user(null, null); $facebook->redirect($appcallbackurl); } ?> |

次に、コールバックURL(http://apps.facebook.com/htf_feed_reader)が呼び出されたときに実行されるindex.phpファイルを作成します。このシンプルな例では、FacebookユーザーIDに「hello」を追加して印刷します:

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が広いカラムに表示されているはずです(アプリケーションをFacebookで設定したときに指定したデフォルトのFBMLが表示されます - 私たちのシンプルなアプリはまだ独自の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)に移動します。今、hello …の行の下にテキストボックスが表示されるはずです:

テキストを入力し、「プロフィールにテキストを表示」ボタンをクリックします:

その後、再度プロフィールページに移動します。テキストボックスに入力したテキストがそこに表示されるはずです:

次の例では、モック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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。