2013-12-12 65 views
0

我知道,这个问题被问了很多次。但我再次受到这个问题的困扰。我已经第一次创建使用命令行的关键哈希:Facebook KeyHash问题:与商店密钥散列不匹配

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\admin\.android\debug.keystore" | "D:\Work\FL\SocialNetwork\openssl-0.9.8k_WIN32\bin\openssl.exe" sha1 -binary | "D:\Work\FL\SocialNetwork\openssl-0.9.8k_WIN32\bin\openssl.exe" base64 

这给了我一把钥匙:7sfF8f3iv6txnCqYW4zoK3lQRBM =

现在我已经加入此密钥哈希Facebook上的应用程序设置。然后编译并运行我的android应用程序。但不幸的是,我得到了我的logcat中的以下例外:

Uh oh. The user cancelled the Facebook login.com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Dfd2yTJmYckjhuASsVgSXLJ_Tso does not match any stored key hashes. 

所以它是非常不匹配的散列键。但是,什么才是正确的关键。我已生成使用我的代码的哈希键,因为它已经在不同的岗位被建议:

try { 
      PackageInfo info = getPackageManager().getPackageInfo(
        "com.social.socialnetworking", 
        PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       Log.d("Testing:", "Hi key :: "+Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
       } 
     } catch (NameNotFoundException e) { 

     } catch (NoSuchAlgorithmException e) { 

     } 

这又回到了我下面的键:torTZ0ApYu3ylNnPUj7fcAjMsfQ =

现在,当我有这个键尝试并运行应用程序,它给了我同样的错误。

现在我很惊讶我应该如何处理这个facebook的整合。这是我的关键工具的问题吗?任何人都可以请给我正确的解决方案。我已经从字面上尝试了不同的选择,也很累。

请帮助..

+0

您是否尝试添加在错误消息中给予您的密钥? –

+0

是的..现在我能够解决它。问题出现在上面的代码包名称中有点不对。所以这是一个错误的哈希键。我试着添加错误信息中给出的关键字。但那并不奏效。还有一点我想说的是:在Facebook设置哈希键框中,不要删除任何哈希键。如果您生成多个哈希键,只需添加它们即可。我也做错了。 –

回答

0

Yes..Now我能够解决这个问题。问题出现在上面的代码包名称中有点不对。所以这是一个错误的哈希键。我试着添加错误信息中给出的关键字。但那并不奏效。还有一点我想说的是:在Facebook设置哈希键框中,不要删除任何哈希键。如果您生成多个哈希键,只需添加它们即可。我也做错了。 -