Facebookアプリを開発するためには、Facebookアカウントを開発者として登録する必要があります。以下に、このための手順を説明します。
※Facebook開発者登録には、携帯電話認証かクレジットカードの登録が必要です。
Facebookアプリケーション開発にはFacebookのアカウントが必要です。本稿では、Facebookのアカウントを所有している前提で進めます。
PHPでFacebookアプリを開発する前提として、Facebookが公式に用意しているPHPのライブラリやサンプルを取得し、これを使います。「facebook/php-sdk - GitHub」の以下のURLから入手できます。
公式サンプルのうち、今回は以下の2つのファイルを利用します(いずれも必須です)。それぞれ、AzurePHPプロジェクトの「approot」フォルダにコピーします。これらのファイルは、本稿に添付したサンプルにも含まれています。
なお、本稿に添付したサンプルアプリの1つ(sample.php)は、Facebook APIの使い方を学ぶためのサンプルで、公式サンプルに含まれる「examples/example.php」を、今回の環境に合わせて修正したものです。もう1つのサンプル(SAWAzure.php)は、今回開発する簡単なFacebookアプリです。
まずは、sample.phpを見ながら、Facebook APIの利用手順を見ていきましょう。
require 'facebook.php'; // アプリケーション登録後、取得できるアプリIDとAPIキーを設定 $facebook = new Facebook(array( 'appId' => 'アプリID', 'secret' => 'APIキー', 'cookie' => true, )); // Facebookのセッションを取得 $session = $facebook->getSession(); $me = null; if ($session) { // Facebookのセッションが存在する(Login している) try { // Login しているユーザーのID を取得 $uid = $facebook->getUser(); // Loginしているユーザーの情報を取得 $me = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); } }
上記手順によって、Facebookにログインしているユーザーの情報が変数「$me」に格納されます。実際にWebブラウザから確認してみてください。sample.phpをAzureに展開した後に、URL「http://{myurl}.cloudapp.net/sample.php/」(※{myurl}は各自の環境により変更してください)にアクセスすることで、確認できます。
いよいよここからは、Facebook APIを使ったPHPアプリを開発してみましょう。Facebookに登録されている情報をFacebook API経由で取得したうえで、この情報を使ってTwitterを検索するアプリを作ります。サンプルアプリとして、SAWAzure.phpを添付しているので、動かしたりソースコードを確認してみてください。
上の画像は、サンプルのSAWAzure.phpにWebブラウザでアクセスした画面です。画面上部に、「織田信長」「忌野清志郎」と2つのボタンがあります。このボタンに表示されている人物名は、Facebook API経由で取得して調べた、アプリ利用者の「あなたが尊敬する人」の名前です。別のユーザーがSAWAzure.phpにアクセスすると、別の名前のボタンができます。
アプリの実際の動作は、以下の通りです。
こうして得られた結果は、Facebook内に表示されます。
なお、SAWAzure.phpは、Facebookアプリとして登録して使います。登録すると、専用のURLが生成されます(例えば「http://apps.facebook.com/{fb_tubuan}/」など。※専用URLの{fb_tubuan}は、各自の環境により変更してください)。
本稿では、Azure上でPHPを使ってFacebookアプリを開発する方法を解説しました。
Azureでは、ASP.NET、PHP、Perl、Javaなどの一般的な開発言語をそのまま利用して開発できます。サーバ側のプログラミング言語や通信手段は、アプリの要件に合わせて自由に選択できます。
PHPを利用してFacebookアプリを開発するための情報は、開発者向けWebサイト「facebook/php-sdk - GitHub」で確認できます。また、Facebookの開発者ブログには、Facebook APIを使った豊富なアイデアとサンプルが日々投稿されているので、参考にしてみてはいかがでしょうか。
田口 一博/スカイコード
主にマイクロソフトの技術を中心としたプログラマ兼システム管理者兼コンサルタント兼雑務係として従事。最近はWindows AzureとWindows Intuneで少しでもラクに楽しく生きていこうと企む毎日
ネットワーク関連機器メーカーのIT部門、データベース管理系パッケージベンダでのコンサルタントを経て、フリーランスとして独立。データベースのコンサルティングを中心にWebシステムの構築や開発なども行ってきたが、最近はWindows Azure上でPHPやMySQLなどの非マイクロソフトなものを動かすことばかり考えている
各種学校の講師兼フリーのシステムエンジニア。現在は、オープン系システムの開発者。「企業勤務電話交換機のOS機能を開発していたので、ファームとかメモリ管理とか聞くと血が騒ぎます」趣味は某オンラインゲーム
Copyright © ITmedia, Inc. All Rights Reserved.