将facebook sdk 2.3集成到Android应用程序后输入凭据获取上述错误。我将login()code.suggest放在我的合适解决方案。这是登录方法。
public void loginToFacebook() {
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if (access_token != null) {
facebook.setAccessToken(access_token);
btnFbLogin.setVisibility(View.INVISIBLE);
// Making get profile button visible
btnFbGetProfile.setVisibility(View.VISIBLE);
// Making post to wall visible
btnPostToWall.setVisibility(View.VISIBLE);
Log.d("FB Sessions", "" + facebook.isSessionValid());
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid()) {
facebook.authorize(AndroidFacebookConnectActivity.this,
new String[] { "email", "publish_stream" },
new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token",
facebook.getAccessToken());
editor.putLong("access_expires",
facebook.getAccessExpires());
editor.commit();
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
});
}
}
这是完全错误
答案 0 :(得分:0)
我正在使用折旧的SDK,我的朋友。因此,很难判断错误是您的代码还是来自Facebook
我建议你使用Facebook SDK 3.0或更高版本。在Facebook SDK 3.0中,会话由Session对象自动管理,用户登录也由默认Facebook的Login小部件处理。因此,您不必担心自己实施登录/注销流程
我之前已回答过这个问题,您可以在 THIS 链接中找到有关使用Facebook SDK 3.0登录/退出的详细信息
有关最新Facebook SDK的更多信息,您还可以访问https://developers.facebook.com/android/
修改:
请查看 this 教程,了解Android应用中的Facebook 3.0 SDK集成。