始终获取会话状态:CLOSED_LOGIN_FAILED,令牌:{AccessToken令牌:facebook android sdk3.0中的ACCESS_TOKEN_REMOVED.

kum*_*mar 35 android facebook

始终获取会话状态:CLOSED_LOGIN_FAILED,令牌:{AccessToken令牌:facebook android sdk3.0中的ACCESS_TOKEN_REMOVED.即使我运行facebook sdk给出的示例进行身份验证,而不是将其重定向到下一个flow.it显示上一页本身.

Kar*_*ela 51

出于某种原因,keytool为我生成的哈希与我的应用程序不同.这对我有用.使用facebook提供的标准代码生成哈希:

PackageInfo info = getPackageManager().getPackageInfo("<your_package_name>",  PackageManager.GET_SIGNATURES);

for (Signature signature : info.signatures)
    {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
Run Code Online (Sandbox Code Playgroud)

确保将"your_package_name>"替换为相应的包名称.查看logcat并抓住keyhash并在facebook app设置中输入.

  • 这项工作,但您也可以使用**getPackageName()**而不是**"<your_package_name>"**,因此您不必担心更改包名称或类似名称. (6认同)

Mat*_*ola 7

ACCESS_TOKEN_REMOVED与问题无关.这只是Facebook SDK没有记录访问令牌.所以你可以放心地忽略那部分错误.

有两件事可能是CLOSED_LOGIN_FAILED的原因:

  1. 您在Facebook本机应用程序中输入了错误的凭据.

  2. 在developers.facebook.com上的应用设置中输入的Android密钥哈希与APK的密钥哈希不匹配.

排除故障#1打开Facebook本机应用程序并确保您已正确登录并可以访问内容.如果您在Facebook本机应用程序中输入了不正确的凭据(可能您最近更改了密码),那么Facebook SDK将反复尝试使用本机应用程序执行SSO并报告CLOSED_LOGIN_FAILED.

排除#2故障只需按照此页面上的"创建Facebook应用程序"下的说明操作,https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/.

随Facebook SDK提供的示例将失败,因为示例应用程序的应用程序配置将不会注册您的调试密钥哈希.有关如何在同一链接中的"运行示例"下修复此问题的说明.这是一个引用:

简而言之,您将创建的每个Android应用都将被签名,您需要使用Facebook注册每个应用的密钥哈希作为真实性的安全检查 - 我们稍后会看到.但是为了绕过SDK样本的检查并快速启动和运行,您可以将密钥哈希添加到您的全球Facebook Developer配置文件中.


Chr*_*ser 5

我有同样的错误,我忘记了起始活动的onActivityResult中的以下行:

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
Run Code Online (Sandbox Code Playgroud)

这是整个方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case RESULT_CODE_IMPORT_FACEBOOK:
          //do stuff
          break;
    default:
          Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
          break;
    }
}
Run Code Online (Sandbox Code Playgroud)


dtb*_*rne 5

我有一个类似的问题 - 我正在接受CLOSED_LOGIN_FAILED,com.facebook.FacebookOperationCanceledException: User canceled operation我肯定没有取消该操作.

经过我的应用程序代码的每一行7-8小时的玩弄后,我注意到这是我的清单中的活动设置的.删除它解决了它.

android:launchMode="singleInstance"
Run Code Online (Sandbox Code Playgroud)


Kar*_*ela 2

尝试从设备上卸载 Facebook 应用程序,然后重新安装。