下記サイトを参考にしました。
基本的にこのサイトの内容で出来ると思いますが、
ちょいちょい翻訳臭がして手こずったので、
自分用のメモとして残します。
Step1.FacebookにAndroidアプリを登録する
①Facebookにログインして携帯電話かクレジットカードでアカウント認証を行う
アカウント認証しないとFacebook Developerでアプリ開発の許可が下りません。
とりあえず、私はDocomoのメールアドレスを封印(spモードメールアプリを無効にしている)しているので、
仕方なくクレジットカードを設定しました。
(APIの利用は、無料ですが本人認証のため仕方ないです)
②PHPかPerlかNode.jsか何にしますか?と聞かれるがどれでもいい
⇒今回はAndroidアプリ開発がしたいので、一番上のPHPにしました
Step2.Android SDKをダウンロードしてインストール
①すでにeclipseとか開発環境は整っているので省略。
②Gitもインストール済みなので省略
③場所はどこでもいいけどわかりやすいところ「C:\eclipse\facebook-api」フォルダを作成し、指定パス通りのクローンを作成
> git init
> git clone git://github.com/facebook/facebook-android-sdk.git
④実機使うのでAVDは作らない
Step3.新しいFacebook SDKプロジェクトの作成
①いつも通りプロジェクト作るとハマるので、ちゃんとみてください
赤枠:
いつもは新規プロジェクトですが、今回はFacebookのライブラリを作成するので、
先ほどGitHubからクローンしたソースを指定します。
なので、「外部ソースからプロジェクトを作成」を指定します。
青枠:
これは、たぶん自動で指定される?されなければ、Step2でgit cloneしたディレクトリの
「facebook-android-sdk\facebook」を指定してください。
Step4.FacebookのSDKへの参照を追加する
①後はFacebookライブラリを使いたいAndroidプロジェクトのプロパティのAndroidライブラリに指定してあげます。
エラー出なければ問題ないはず。
Step5.Facebookアプリの設定に、アプリケーション署名を追加する
署名作成にopenSSLが必要です。
今回はWindowsの例です。
※ちなみに私はWindows7 32bitです。
OpenSSLにはActivePerlが必要らしいです。
①ActivePerlのインストール(http://www.activestate.com/activeperl/downloads)
②Windows用OpenSSLのインストール(http://slproweb.com/products/Win32OpenSSL.html)
(キャプチャではチェックついてますけど、私はチェックを外してFinishしました)
インストールできたら環境変数のPATHを追加
「C:\OpenSSL-Win32\bin」
③コマンドプロンプトで今度こそkeyHashの作成
※コマンドはこちら「keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64」
さっきまでうるさかった「openSSLが~」ってエラーはでなくなりました。
④「③」で作成したキーハッシュとライブラリを利用するパッケージ名、クラス名をFacebookDeveloperに登録
Step6.アプリケーション用シングルサインオン(SSO)を有効にする
①AndroidManifest.xmlに「<uses-permission android:name="android.permission.INTERNET"/>」を追加
ソースコードはとてもシンプルです。
しかし、起動しても一瞬Facebookっぽい画面が割りこまれるだけでうまく動かなかった・・・
他の端末にインストールしてやってみたらうまく動い方ので、もしかしたらと
Facebookのアプリをアンインストールしたらちゃんと動きました。
(おそらくIntentFilterとかで割り込まれてる?)
ライブラリのパッケージ名とか変えたらうまく動くのだろうか。。。?
真面目にFacebookと連携するアプリを作るならちゃんと調査しないとダメですね。
とりあえず、起動できたら今回は以上です!!!
疲れたー
2-3時間くらいかかった気がする。
[結果]
FacebookのAPI申請して
Androidからシングルサインオンでログイン認証して、
特定の情報(メールアドレスとかチェックイン投稿許可)とかを扱う確認ダイアログの表示まで成功。
なんかほかにもPHPとかRubyとかnode.jsでも開発できるっぽいし
ちょいちょい遊んでみようかね。