1

Android用のFacebook SDK 3.0をアプリに追加しようとしています。

関数を使用してログインしようとしています

OpenSessionWithAllowLoginUI(boolean allowLoginUI)

セッションの状態が機能を変更したとき

SessionStateChanged(セッション、状態、例外)

と呼ばれます。これらの機能を以下に示します。

 public void OpenSessionWithAllowLoginUI(boolean allowLoginUI)
    {

    Session.openActiveSession(this, true, new Session.StatusCallback()
    {
           @Override
           public void call(Session session, SessionState state, Exception exception)
           {
               SessionStateChanged(session, state, exception);
           }
    })
}

public void SessionStateChanged(Session session, SessionState state, Exception exception)
{
    switch (state)
    {
        case OPENED:
              if (exception == null)
              {
                  facebook = new Facebook("6346513133546");
              }

            break;

        case CLOSED:
        case CLOSED_LOGIN_FAILED:
            Session.getActiveSession().closeAndClearTokenInformation();
            facebook = null;
            break;

        default:
            break;
    }
}

関数を呼び出すと、セッション状態が 2 回変更されます。最初にセッション状態が「OPENING」と表示され、ログインして権限ポップアップで「OK」をクリックすると、セッション状態が「CLOSED_LOGIN_FAILED」に変わります。セッション状態が「OPENED」になることはなく、次の例外が発生します

remote_app_id が保存された ID と一致しません

誰でもここで何が間違っているのか教えてください。

4

2 に答える 2

3

問題は、正しいキー ハッシュを指定していなかったことです。を使用してキーハッシュを生成しkeytool -exportcert -alias androiddebugkey -keystore .android/debug.keystore | openssl sha1 -binary | openssl base64ましたが、機能しました

于 2012-12-28T06:15:09.437 に答える
0

Android アプリの app_id がアプリ ダッシュボード (https://developers.facebook.com/apps) の app_id とまったく同じであることを確認していただけますか? また、「ネイティブ Android アプリ」に緑色のチェックマークがあり、「Facebook ログイン」が有効になっており、キー ハッシュが追加されていることを確認してください。

于 2012-12-28T05:51:47.460 に答える