【问题标题】:Invalid key hash. The Key hash doesnot match. is showing if i connect through facebook app无效的密钥哈希。密钥哈希不匹配。显示我是否通过 facebook 应用程序连接
【发布时间】:2016-06-02 17:29:14
【问题描述】:

我的应用中集成了 Facebook。我必须通过 facebook 登录,我有 appID 和系统生成的密钥哈希存储在 developer.facebook.com 中。我通过 facebook 应用程序登录它显示无效的密钥哈希并显示该密钥哈希。但是,如果我从我的设备中删除 fb 应用程序。它将通过chrome进入fb登录并成功获取用户详细信息。

现在我想知道的是,为什么如果通过 facebook 应用程序会显示错误。我想通过 facebook 应用程序,所以请给我一个解决方案。

提前致谢。

【问题讨论】:

    标签: android facebook hash


    【解决方案1】:

    将下面的示例代码粘贴到 Application 类的 OnCreate 方法中(仅用于获取 ssh 密钥)

    import android.util.Base64;
    import android.util.Log;import android.content.pm.PackageInfo;
    import android.content.pm.PackageManager;
    import android.content.pm.Signature;import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    MessageDigest md = null;
    try {
      PackageInfo info = context.getPackageManager().getPackageInfo(
          context.getPackageName(),
          PackageManager.GET_SIGNATURES);
      for (Signature signature : info.signatures) {
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
      }
    } catch (PackageManager.NameNotFoundException e) {
    
    } catch (NoSuchAlgorithmException e) {
    
    }
    Log.i("KeyHash = ",Base64.encodeToString(md.digest(), Base64.DEFAULT));
    

    以上代码将在您的日志中打印 KeyHash。 在facebook 开发者面板中复制并粘贴密钥。 注意: Keyhash 因发布/调试环境而异,或参考下面的图片

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      相关资源
      最近更新 更多