こんにちは。Satouです。
現在アプリでFacebookSDKを使ってFacebookにテキストを投稿する実装を行っています。
実際にプログラムを作成し、実行してみたところ、認証に失敗してしまいます。
「テストアプリが公開プロフィール、友達リストにアクセスする許可を求めています。」のダイアログが出る→OKを押す→Facebook認証に失敗しましたのトーストがでる。
以下のソースコードのsession.getState()で、値がLOSED_LOGIN_FAILEDで返ってくるのが確認でき、なぜCLOSED_LOGIN_FAILEDが返ってくるのかがわかりませんでした。
CLOSED_LOGIN_FAILEDについて調べてもどのような意味なのか解らず、直しようがありません。
どなたかわかる方はいらっしゃるでしょうか?
以下はソースコードです。session.getState()でCLOSED_LOGIN_FAILEDが返ってきます。
@Override
protected void onResume() {
super.onResume();
Session session = Session.getActiveSession();
Log.d(TAG,"onResume:" + "session state is " + session.getState());
if (session.getState().equals(SessionState.CLOSED_LOGIN_FAILED) || session.getState().equals(SessionState.CLOSED)) {
Toast.makeText(this, "Facebook認証に失敗しました。", Toast.LENGTH_LONG).show();
finish();
}
}
ちなみに
・FacebookDevelopersでのアプリ登録の際、ネイティブAndroidアプリの欄の「クラスの名前」は、「SplashActivity」で登録しており、実際の「~友達リストにアクセスする許可を求めています。」などの
投稿画面は「FacebookActivity」のクラスで行っています。ためしに参考にしたサイトをそのまま作り、同様の状態にしてみたのですが問題なくログインできました。
・FacebookDevelopersでのアプリ登録の際、ネイティブAndroidアプリの欄の「Facebook login」では「有効にする」「無効にする」両方試してみましたが参考にしたサイトでは問題なくログインできました。
今回開発しているアプリでは「有効にする」で設定しています。
→上記2つの項目「クラスの名前」、「Facebook login」は何の意味があるのかよくわかりません。よろしければそちらも教えて頂けると嬉しいです。
長くなってしまい申し訳ありません。
よろしくお願い致します。