我正在尝试将facebook sdk 3.0 for android添加到我的应用程序中。
我正在尝试使用函数
登录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;
}
}
在调用函数会话状态时更改两次。首先,它将会话状态显示为" OPENING"登录后点击" ok"对于权限弹出,会话状态更改为" CLOSED_LOGIN_FAILED"。会话状态永远不会打开"我得到以下异常
remote_app_id与存储的ID
不匹配
任何人都可以告诉我这里做错了什么。
答案 0 :(得分:3)
问题是我没有提供正确的密钥哈希。我使用keytool -exportcert -alias androiddebugkey -keystore .android/debug.keystore | openssl sha1 -binary | openssl base64
生成了密钥哈希并且它工作了
答案 1 :(得分:0)
您能否确认Android应用上的app_id与应用信息中心(https://developers.facebook.com/apps)上的app_id完全相同?还要确保“原生Android应用程序”具有绿色复选标记,启用“Facebook登录”并添加密钥哈希。