2014-05-02 38 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

相關問題