2017-01-15 16 views
0

私はAndroidアプリケーションのログインにfacebook apiを使用しようとしています。チュートリアルの後、私はfacebookボタンでログインをクリックした後、確認画面を得ることができました。しかし、アプリケーションを2回実行すると、「Facebookのキーハッシュが格納されたキーハッシュと一致しません」というエラーが表示されます。Facebookのキーハッシュは、2回目の実行時に格納されたキーハッシュと一致しません

私はstackoverflowの他のポストに従って、私のアプリケーションを削除し、再度等を作成しましたが、2回目に再び同じエラーが発生します。

Facebook key hash does not match any stored key hashes

あなたは間違っている可能性が何を知っていますか、なぜ私は、最初の実行に得ることはありませんが、私はセカンドランでこのエラーを取得しますか?

+0

生成キー? – rafsanahmad007

+0

生成されたデバッグキー – cincin

+0

どのようにハッシュキーを取得していますか? – rafsanahmad007

答えて

0

これを試してみてください。

public void Get_hash_key() { 
     PackageInfo info; 
     try { 
      info = getPackageManager().getPackageInfo("your_package_name", PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md; 
       md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       String something = new String(Base64.encode(md.digest(), 0)); 
       //String something = new String(Base64.encodeBytes(md.digest())); 
       Log.e("hash key", something); 
      } 
     } catch (PackageManager.NameNotFoundException e1) { 
      Log.e("name not found", e1.toString()); 
     } catch (NoSuchAlgorithmException e) { 
      Log.e("no such an algorithm", e.toString()); 
     } catch (Exception e) { 
      Log.e("exception", e.toString()); 
     } 
    } 

あなたのパッケージ名を追加し、(onCreateでこの関数を呼び出す)あなたMainactivityの

それはlogcatのハッシュキーが印刷されます...

コピーし、他のキーを削除する

+0

私はこれを試しましたが、もう一度実行すると失敗します。なぜなら、2回目に実行すると、異なるハッシュコードが作成されるからです。コードの変更を実行しますが、サーバー上には登録したコードしかないため、一致しません。なぜ私のハッシュコードはいつも変わるのですか? – cincin

0

あなたのアンドロイドアプリに有効なキーストアを作成してください:

(Windowsの場合)

keytool -genkey -v -keystore fisherbook.keystore -alias fisherbook -keyalg RSA -keysize 2048 -validity 10000 

は、Facebookのハッシュキーの生成:

(Windowsの場合)

keytool -exportcert -alias <KEYSTORE_ALIAS> -keystore <COMPLETE_KEYSTORE_PATH> | openssl sha1 -binary | openssl base64 

やFacebookのエラーを見て:「無効なキーハッシュを。デバッグ?または解除のためのキーの任意のストアハッシュが一致しない...」 自分のFacebookのハッシュキーがあります!

そして、Facebookの開発者のウェブサイトでアプリ/設定で(アンドロイド)をお使いのハッシュを置く。

関連する問題