連載
» 2011年09月02日 00時00分 公開

無料クラウドでできるFacebookアプリ開発入門(4):Twitterと連携するFacebookアプリをPHPで作る (5/5)

[田口一博, 浅見城輝, 大澤公志郎,@IT]
前のページへ 1|2|3|4|5       

Facebook開発者として登録

 Facebookアプリを開発するためには、Facebookアカウントを開発者として登録する必要があります。以下に、このための手順を説明します。

※Facebook開発者登録には、携帯電話認証かクレジットカードの登録が必要です。

【1】Facebookでアカウントを取得

 Facebookアプリケーション開発にはFacebookのアカウントが必要です。本稿では、Facebookのアカウントを所有している前提で進めます。

【2】開発者登録

  1. Facebookにloginした状態でFacebook開発者のページにアクセス
  2. ページ右上の「+ Create New App」ボタンをクリック
  3. 「New App」ダイアログの「App Name」を入力して、「Locale」で「日本語」を選択し、「Facebook 利用規約」を確認してチェック、「続行」をクリック
  4. 「セキュリティチェック」テキストを入力後、「送信」ボタンをクリックすることで、Facebookアプリの登録が完了

PHP−Facebook連携ライブラリやサンプルを取得

 PHPでFacebookアプリを開発する前提として、Facebookが公式に用意しているPHPのライブラリやサンプルを取得し、これを使います。「facebook/php-sdk - GitHub」の以下のURLから入手できます。

 公式サンプルのうち、今回は以下の2つのファイルを利用します(いずれも必須です)。それぞれ、AzurePHPプロジェクトの「approot」フォルダにコピーします。これらのファイルは、本稿に添付したサンプルにも含まれています。

  • 「src/facebook.php」
    PHP向けのFacebook APIライブラリ。ユーザー・プログラムからFacebook APIを使う場合は、通常はこれを利用
  • 「src/fb_ca_chain_bundle.crt」
    Facebook APIを使うための前提となる電子証明書。facebook.php内部でこれを利用している

 なお、本稿に添付したサンプルアプリの1つ(sample.php)は、Facebook APIの使い方を学ぶためのサンプルで、公式サンプルに含まれる「examples/example.php」を、今回の環境に合わせて修正したものです。もう1つのサンプル(SAWAzure.php)は、今回開発する簡単なFacebookアプリです。

 まずは、sample.phpを見ながら、Facebook APIの利用手順を見ていきましょう。

sample.phpの基となっているexamples/example.phpの抜粋
    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-Twitter連携アプリの概要

 いよいよここからは、Facebook APIを使ったPHPアプリを開発してみましょう。Facebookに登録されている情報をFacebook API経由で取得したうえで、この情報を使ってTwitterを検索するアプリを作ります。サンプルアプリとして、SAWAzure.phpを添付しているので、動かしたりソースコードを確認してみてください。

図15 Facebook−Twitter連携アプリ 図15 Facebook−Twitter連携アプリ

 上の画像は、サンプルのSAWAzure.phpにWebブラウザでアクセスした画面です。画面上部に、「織田信長」「忌野清志郎」と2つのボタンがあります。このボタンに表示されている人物名は、Facebook API経由で取得して調べた、アプリ利用者の「あなたが尊敬する人」の名前です。別のユーザーがSAWAzure.phpにアクセスすると、別の名前のボタンができます。

 アプリの実際の動作は、以下の通りです。

  • SAWAzure.phpは、Facebook APIを用いて、SAWAzure.phpにアクセスしたFacebookユーザーの基本データを取得し、これを変数「$me」に格納
  • 「$me」に含まれる情報のうち「あなたが尊敬する人」として登録されている情報を取得(「織田信長」など)
  • FacebookからTwitter APIを用いて、Twitterと連携。具体的には、「あなたが尊敬する人」として登録されている人物名(「織田信長」など)を使って、Twitterを検索

 こうして得られた結果は、Facebook内に表示されます。

 なお、SAWAzure.phpは、Facebookアプリとして登録して使います。登録すると、専用のURLが生成されます(例えば「http://apps.facebook.com/{fb_tubuan}/」など。※専用URLの{fb_tubuan}は、各自の環境により変更してください)。

PHPを利用したFacebookアプリ開発の情報源

 本稿では、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機能を開発していたので、ファームとかメモリ管理とか聞くと血が騒ぎます」趣味は某オンラインゲーム



前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。