Java facebook会话未打开
我正在尝试将适用于android的facebook sdk 3.0添加到我的应用程序中 我正在尝试使用该功能登录 OpenSessionWithAllowLoginUI(布尔allowLoginUI) 当会话状态更改功能时 SessionStateChanged(会话、状态、异常) 被称为。下面给出了这些函数Java facebook会话未打开,java,android,facebook,Java,Android,Facebook,我正在尝试将适用于android的facebook sdk 3.0添加到我的应用程序中 我正在尝试使用该功能登录 OpenSessionWithAllowLoginUI(布尔allowLoginUI) 当会话状态更改功能时 SessionStateChanged(会话、状态、异常) 被称为。下面给出了这些函数 public void OpenSessionWithAllowLoginUI(boolean allowLoginUI) { Session.openActiveSe
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;
}
}
调用函数时,会话状态更改两次。首先,它将会话状态显示为“打开”,然后在登录并单击“确定”进入权限弹出窗口后,会话状态变为“关闭\登录\失败”。会话状态从未“打开”,我得到以下异常
远程应用程序id与存储的id不匹配
任何人都可以告诉我我做错了什么。你可以验证你的Android应用程序上的应用程序id与你的应用程序仪表板上的应用程序id完全相同吗(https://developers.facebook.com/apps)? 还要确保“原生Android应用程序”有一个绿色复选标记,启用了“Facebook登录”并添加了密钥散列。问题是我没有给出正确的密钥散列。我使用
keytool-exportcert-alias androiddebugkey-keystore.android/debug.keystore | openssl sha1-binary | openssl base64
生成了密钥散列,它运行正常我已经检查了所有这些。在进一步检查时,我发现异常可能是由于给出了错误的密钥散列而导致的。我尝试添加使用keytool-exportcert-alias androiddebugkey-keystore~/.android/debug.keystore | openssl sha1-binary | openssl base64生成的密钥散列,但效果不佳