无效的释放密钥facebook sdk 4.0

时间:2015-04-02 10:45:26

标签: android facebook facebook-graph-api

我想构建一个使用de facebook sdk登录的android应用程序。我已经按照facebook程序使用sdk并生成关键哈希。现在,当我尝试登录时,我一直收到错误无效keyhash keyhash:与任何存储的键哈希都不匹配。这很奇怪,因为我生成了我的keyhash并通过facebook注册了它。但这给了我错误。我已尝试在其他方面生成keyhashes但这也不起作用。有谁知道如何解决这一问题。你会非常帮助我。

问候

1 个答案:

答案 0 :(得分:0)

如果您正在签署您的应用程序然后收到此错误,那么您需要获取Facebook的发布密钥。有很多方法可以实现它,但最简单的方法之一就是:

    try {
         PackageInfo info = getPackageManager().getPackageInfo(
                           "com.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));

                  }
            } catch (NameNotFoundException e) {
                e.printStackTrace();
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
          }

这将记录发布密钥并将其放在您的fb开发控制台上。干得好! 重要信息:您的应用程序必须使用密钥库进行签名,否则将记录调试密钥。 (还将您的包名称放在PackageInfo中)

将此代码写入您创建的任何活动中,并在获得密钥后删除它。