2014-12-23 30 views
0

我在Android Facebook上遇到了一些問題。所以基本上我有我的關鍵字hash作爲+J+3yf/mrgPgKeg1llIttpSjcws=和我的Facebook應用程序ID 1596000240623060Android Facebook HashKey無效

enter image description here

關鍵哈希裏面用的是正確的一個是這樣的:+ J + 3yf/mrgPgKeg1llIttpSjcws =

然而,當我嘗試從Android運行時,當我登錄頁面時,它告訴我無效的哈希鍵UfL1O1VVSEn88zyVkNdltm8X5bM與任何存儲哈希鍵都不匹配。但我沒有使用它。有任何想法嗎?

在此先感謝。

我把這些代碼在頁面的onCreate(),我叫Facebook登錄:

try { 
     PackageInfo info = getActivity().getPackageManager().getPackageInfo(
       "nyp.edu.eneighbourhood", 
       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) { 

    } catch (NoSuchAlgorithmException e) { 

    } 

由於從CMD,我做同樣的方式你的建議。

+0

向下投票者介意解釋? –

回答

1

您必須使用debug.keystore生成開發哈希鍵,並且如果您有釋放鍵生成釋放哈希鍵。

與Facebook的文件根據:

發展哈希

在Mac:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 

在Windows上:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 

釋放散列鍵

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64 

注意:如果更改開發計算機或eclipse版本,debug.keystore也會更改,因此您必須再次生成hashkey。

祝你好運!

+0

我從cmd得到+ J + 3yf/mrgPgKeg1llIttpSjcws = hash鍵。但是當我運行代碼來獲取散列鍵時,我得到UfL1O1VVSEn88zyVkNdltm8X5bM。那麼我應該使用哪一個? –

+0

你是如何生成這些代碼的?無論是在代碼和CMD –

+0

任何想法?我很困惑 –