2011年8月9日火曜日

FacebookにAndroidアプリのキーハッシュを登録する際の注意点

このエントリーをはてなブックマークに追加
自前のAndroidからFacebookにアクセスするためには,Facebookページより開発者として登録し,アプリIDを取得する必要があります.
その後,鍵のハッシュ値をFacebookに登録する必要があります.

アプリIDの取得方法については下記ページを参照ください.
Androidで、Facebook SDK を使ってみた。 - OneWorldの開発ブログ

ローカル環境下でデバッグするためには,下記コマンドにより,生成されたキーハッシュをFacebookの開発者ページより登録することで,アクセス可能となります.

keytool -exportcert -alias androiddebugkey -keystore "C:\debug.keystore" | openssl.exe sha1 -binary | openssl.exe base64

「debug.keystore」の位置については,Eclipse⇒Window⇒Preferences⇒Android⇒Buildを参照し,パスを修正してください.


アプリケーションをマーケット等で一般公開するためには,デフォルトで用意されているデバッグ用の鍵ではなく,自分独自の鍵を使ってアプリケーションに署名する必要があります.

独自の鍵の生成方法については下記ページを参照ください.
Androidアプリケーションを公開するために:署名と配置の方法 / DevX - japan.internet.com コラム


「自分独自の鍵を使ってアプリケーションに署名する」と言っても,使用するコマンドは同じです.
ただ,aliasの値(ここでは,XXXXX)として,独自の鍵を生成した際のaliasを指定する必要があります.

keytool -exportcert -alias XXXXX -keystore "C:\debug.keystore" | openssl.exe sha1 -binary | openssl.exe base64

ちなみに,鍵のaliasを忘れた際は,下記コマンドにより,鍵の情報を得ることができます.

keytool -list -v -keystore {keystoreファイル名}

ここで[別名]となっているものがこの鍵のaliasとなります.


なお,鍵ファイルはバイナリファイルとなっていますが,バイナリエディタ等で閲覧できます.
この際alias(別名)は先頭の文字です.