2014-05-02 39 views
2

我尝试给Facebook SDK(版本:3.14)集成到我的应用程序,但我很快就陷入困境与keyhashFacebook的示例加载错误的密钥哈希?

当我运行命令

密钥工具-exportcert -alias androiddebugkey -keystore〜/ .android/debug.keystore | openssl sha1 -binary | OpenSSL的BASE64

我得到这个密钥散列: XHAAVbh9dOufRUPyIWm/9ws5q10 =

,但是当我尝试运行的Facebook样才能发布内容到fb墙(项目名称:HelloFaceBookSample) 我得到达姆错误,它混淆了我非常多,因为我logcat中采取错误日志:

com.facebook.http.protocol.ApiException:(#404)主要散XHAAVbh9dOufRUPyIWm_9ws5q10不匹配任何存储的密钥哈希值。

做过facebook sdk弄错了密钥哈希?

回答

3

使用这个在你的代码,以获得keyhash:

public void KEY(){ 
     try { 
      PackageInfo info =  getActivity().getPackageManager().getPackageInfo("com.YourPackageName",  PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT); 
       Log.e("MY KEY HASH:", sign); 
       Toast.makeText(getActivity().getApplicationContext(),sign,  Toast.LENGTH_LONG).show(); 
       System.out.println(sign); 
      } 
     } catch (NameNotFoundException e) { 
     } catch (NoSuchAlgorithmException e) { 
     } 
    } 

请务必提供正确的密钥哈希的FB,开发者控制台上。

+0

我敢肯定,我输入正确的哈希键Facebook的设置,但我认为Facebook SDK得到错误的散列键 - >我得到错误:(:( – user3595060

3

如果你使用的是Eclipse,你可以直接使用这个链接来生成你的哈希键。

只需进入Eclipse-> window-> preferences-> Android-> Build。然后复制SHA1值并将其粘贴到下面提供的链接中。您可以使用网站生成的密钥哈希值并将其粘贴到Facebook设置上。

http://tomeko.net/online_tools/hex_to_base64.php?lang=en

+0

TKS你的链接它返回** XHAAVbh9dOufRUPyIWm/9ws5q10 = **,但sdk仍然可以使用以下值:** XHAAVbh9dOufRUPyIWm_9ws5q10 ** – user3595060

+0

您是否在应用程序设置中将developer.facebook.com中的密钥哈希值设为了? – Kris

+0

我确定我添加了** XHAAVbh9dOufRUPyIWm/9ws5q10 = **示例应用程序设置android哈希键 – user3595060

相关问题