Android Facebook Key Hash停止工作

时间:2013-07-18 22:00:12

标签: android facebook login hash key

我正在创建一个可与Facebook集成的Android应用。我已经能够成功生成Key Hash,当我运行我的应用程序登录时,我成功进入了接受权限按钮。我点击接受,从那时起,我无法从应用程序重新登录。我收到错误“(插入我在这里使用的密钥)与任何允许的密钥不匹配。配置您的应用程序密钥哈希值(列出我的Facebook开发人员URL)”。是否有任何理由可以使Key Hash工作然后停止?我没有改变任何Facebook设置,也没有改变任何应用程序代码。我已经尝试创建一个新的密钥哈希,但仍然无法正常工作。关于这可能是什么,或如何解决它的任何想法将不胜感激!

1 个答案:

答案 0 :(得分:2)

我想出来了。不知何故,Hash Key刚刚停止匹配我在Facebook端插入的内容。使用facebook文档,我在onCreate方法中添加了代码,告诉我我的LogCat中的哈希键是什么。如果我搞砸了我的包名,我还在一些日志代码中添加了我的catch异常。这是代码:

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.your.package", 
                    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) {
            Log.d("Error1", "NameNotFoundException");

        } catch (NoSuchAlgorithmException e) {
            Log.d("Error2", "Algorthim");

        }

在我添加并运行它之后,我在我的log cat中找到了哈希键,然后将其复制到我的Facebook App中。保存它,再次运行应用程序,它工作正常!