71

Ho un problema con il login con facebook acount nella mia applicazione. Ho letto su Facebook Doc. E ho fatto tutti i passi come Facebook Doc.Questa app non ha configurato gli hash della chiave Android. - Accedi con Facebook SDK

Primo accesso con Facebook in app - SUCCESSO! e di uscire dall'applicazione. Voglio effettuare il login di nuovo con il mio account di Facebook. Ma non funziona !! E ho preso questa Eccezione! Mi aiuti per favore !

Eccezione: Questa applicazione non ha hash chiave Android configured.Configure vostra applicazione hash chiave a http: developers.facebook.com/apps/ "APP ID"

Finaly; Ho usato per una parte di codice per HashKey GENERATE

try { 
     PackageInfo info =  getPackageManager().getPackageInfo("MY PACKAGE NAME",  PackageManager.GET_SIGNATURES); 
     for (android.content.pm.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(getApplicationContext(),sign,  Toast.LENGTH_LONG).show(); 
     } 
} catch (NameNotFoundException e) { 
} catch (NoSuchAlgorithmException e) { 
} 

Ho risolto il mio problema. Avrei dovuto fare l'impostazione su Facebook. Passi:

  1. Vai a pagina facebook dello sviluppatore: https://developers.facebook.com/
  2. aprire le schede App e che selezionare l'impostazione

  3. Incollare il HashKey generare sul campo di HashKey = Se non si dispone di ancora, prendi la tua chiave hash parte del codice

  4. E di Single Sign On sarà "Sì": Single Sign On: attiva questa impostazione.

Volevo condividere la mia risoluzione. Forse qualcuno ha bisogno di questa soluzione. In bocca al lupo !

+1

Grazie - si mi ha aiutato e mi avevano sperimentato lo stesso problema +1 – Simon

+0

Facebook offre ora una spiegazione di avvio rapido molto buona su come generare gli hash, dopo aver fatto clic sul pulsante Impostazioni e aggiunto una nuova piattaforma: Per Mac: 'keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android/debug.keystore | openssl sha1 -binary | openssl base64' Per Windows: 'keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% \. android \ debug.keystore | openssl sha1 -binary | openssl base64' – FilipR

+0

Come hai risolto questo problema? – andrei

risposta

13

Non è necessario generare la chiave hash. Quando tenterai di accedere a Facebook dalla tua app, riceverai un messaggio di errore dicendo che "[Chiave hash]" non è registrato o configurato. Basta copiare quella chiave e andare a developer.facebook.com dove hai registrato la tua app per la verifica di facebook e includi sotto gli hash dei tasti.

Ricorda: per ogni dispositivo, il tasto cancelletto potrebbe essere diverso. Devi includerlo di recente.

Per impostazione predefinita questa chiave dovrebbe fare: 2jmj7l5rSw0yVb/vlWAYkK/YBwk =

Inoltre, prima di tutto, è necessario fornire i tuoi amici con i tuoi dati App, insieme con gli screenshot di cui si sta utilizzando funzioni di Facebook e le ragioni per cui tu stai usando. Devono verificarlo.

+0

Grazie Nielarshi per la tua risposta. Ma ho risolto un altro modo. –

+2

@ TarıkYurtlu Che cos'è? Ho registrato la chiave hash ma non ha funzionato. Se disinstalla l'app di Facebook, funzionerà. Devo registrare la domanda di rilascio o possiamo farlo per lo sviluppo? – Amt87

+3

Vecchio thread, ma ... La chiave non è diversa per ogni "versione apk firmata" e non per ciascun dispositivo? Sicuramente, se fosse per ogni dispositivo, nessuno sarebbe in grado di usarlo. Suggerimento per gli altri: la chiave hash tra la versione firmata che carichi e quella che usi quando si sviluppa è diversa. Sebbene tu possa aggiungere più chiavi hash in facebook, quindi non dovrebbe essere un problema. Nel momento in cui usi un'altra chiave di firma, l'hash cambierà. – renevdkooi

7

Per generare un hash della chiave di rilascio, eseguire il comando seguente su Mac o Windows sostituendo l'alias della chiave di rilascio e il percorso del keystore.Su OS X, eseguire:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64 

In Windows, l'uso:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64 


Rif: https://developers.facebook.com/docs/android/getting-started/#create_hash

Problemi correlati