java facebook会话未打开
我正在尝试将适用于安卓的facebook sdk 3.0添加到我的应用程序中
我正在尝试使用该功能登录
OpenSessionWithAllowLoginUI(boolean allowLoginUI)
当会话状态更改功能时
SessionStateChanged(session, state, exception)
被称为。下面给出了这些函数
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;
}
}
调用函数时,会话状态更改两次。首先,它将会话状态显示为“打开”,然后在登录并单击“确定”进入权限弹出窗口后,会话状态变为“关闭\登录\失败”。会话状态从未“打开”,我得到以下异常
remote_app_id does not match stored id
谁能告诉我我做错了什么
# 1 楼答案
问题是我没有给出正确的密钥散列。我使用
keytool -exportcert -alias androiddebugkey -keystore .android/debug.keystore | openssl sha1 -binary | openssl base64
生成了密钥散列,它工作了# 2 楼答案
您能否验证Android应用程序上的应用程序id与应用程序仪表板上的应用程序id完全相同(https://developers.facebook.com/apps)? 还要确保“原生Android应用程序”有一个绿色复选标记,启用“Facebook登录”,并添加您的密钥哈希