初めての Facebook app 開発

 なんてタイトルは実は詐欺で、単に Facebook app のライブラリについてくるPHPのサンプルアプリケーション、FootPrint を動かしただけです。開発者になってること前提。私はバイト先の方に開発者に追加してもらったので、そこら辺の手順が分からないのです。そして、これは Facebook app 入門者がいろいろ苦戦した末の備忘録です。決して Facebook のアプリならまかしとけ!な人が書いたものではないということを念頭に置いて読んでいただければ幸いです。


 必要なものは、Facebookからアクセスできる、グローバルなサーバです。ApachePHPMySQL必須。

  1. Facobookのページの一番下にある『開発者』リンクをクリックしましょう。多分ここら辺でいろいろやれば開発者になれるはず。
  2. Start Now リンクをクリックして、 http://developers.new.facebook.com/get_started.php に行きましょう。その右側に、PHP Client Libraries というリンクがあるので、ここをクリックして facebook-platform.tar.gz をダウンロード。展開すると、phpというフォルダとfootprintsというフォルダが入っています。
  3. http://www.new.facebook.com/developers/ にアクセスして、右上にある Set Up New Application をクリック。作りたいアプリの名前を付けて下さい。今回はTest My FootPrintにしたとして話を進めます。tarmを読んだよというところにチェックをつけて、おもむろにSubmit。すると、Test My FootPrint用の開発ページが出来上がります。
  4. 次にMySQLの設定です。新しくfootprintsというデータベースを作ってやりましょう。これにアクセスできるユーザを個別に作ってもいいです。そして、config.phpの一番最後にコメントアウトした状態で、データベースfootprintsにどんなテーブルが作られていれば良いか書いてあるというかSQL文がそのまんま載ってるので、これをfootprintsで実行してやって下さい。
  5. ダウンロードした footprints/config.php を編集します。$api_key には開発ページに書いてあるAPI keyを、$secret にはその下に書いてある secret を、それぞれ入力します。 $db_ip は今回 Apache PHP MySQL が全部同じサーバに入っていることが前提なので、localhostで大丈夫です。 $db_user, $db_passはfootprintsにアクセスできるユーザとそのパスワードを書いて下さい。
  6. 編集が終わったら、ファイルをサーバにアップロードします。必ずPHPが使えて、httpアクセスが出来るところにおいてやって下さい。今回はhttp://www.example.com/facebook-platform/以下にfootprintsとphpをアップロードします。
  7. アップロードが終わったら、http://www.new.facebook.com/developers/ から、右側にあるTest My FootPrintにアクセスします。そのアプリ用ページの中で、やっぱり右側にある Edit Settings をクリックして下さい。Callback URL には、 http://www.example.com/facebook-platform/footprints/ と、 Canvas Page URL にはこのアプリに接続するときに使ってほしい適当な文字列を、その下のチェックは Use FBML を、Can your application be added on Facebook は Yes を、 Application Type は Website を設定して、Saveをクリックしましょう。
  8. ここまでやったら、アプリの開発ページに書いてある Canvas URL にアクセスしてみましょう。友達の名前を入力するフォームが出てきたら、設置完了です。


 何か間違いなどあったら、どんどん突っ込んで下さい。そもそも書いている人間はFootprintがどんなアプリケーションなのかも分かってないので。mixi の足跡みたいなもん?
 ちなみに、Facebookアプリにはサンプルコードがもう一つあります。各アプリケーションの開発ページの下の方にある、Sample Code です。こちらの方が、MySQLの設定などがなく簡単なので、3番が終わった後に試してみるといいと思います。