1

我正在尝试将 facebook sdk 3.0 for android 添加到我的应用程序中。

我正在尝试使用该功能登录

OpenSessionWithAllowLoginUI(布尔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;
    }
}

在调用函数会话状态更改两次。首先它将会话状态显示为“OPENING”,然后在登录并单击“确定”到权限弹出窗口后,会话状态更改为“CLOSED_LOGIN_FAILED”。会话状态永远不会“打开”,我得到以下异常

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)上的完全相同?还要确保“Native Android App”有一个绿色复选标记,启用“Facebook 登录”并添加您的密钥哈希。

于 2012-12-28T05:51:47.460 回答