2017-10-01 6 views
0

J'essaie d'utiliser Facebook Sdk dans mon projet, je me suis SHA1 comme ça (j'utilise Mac OS X)hachage clé ne correspond pas tout Facebook login

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

J'ai inséré SHA1 dans mon projet, mais quand je essayez de vous connecter avec vos identifiants Facebook, ont erreur de hachage clé non valide .Ici est ma source

public void getFacebookLogin() 
{ 
    callbackManager = CallbackManager.Factory.create(); 
    LoginManager.getInstance().logInWithReadPermissions(
      MainActivity.this, 
      Arrays.asList("email", "public_profile")); 

    LoginManager.getInstance().registerCallback(callbackManager, 
      new FacebookCallback<LoginResult>() { 
       @Override 
       public void onSuccess(LoginResult loginResult) { 

        System.out.println("Success"); 
        accessToken= loginResult.getAccessToken(); 
        GraphRequest request = GraphRequest.newMeRequest(
          loginResult.getAccessToken(), 
          new GraphRequest.GraphJSONObjectCallback() { 
           @Override 
           public void onCompleted(
             JSONObject json, 
             GraphResponse response) { 


            if (response.getError() != null) { 
             System.out.println("ERROR"); 
            } else { 
             System.out.println("Success"); 
             try { 
              facebookEmail = json.getString("email"); 
              Log.e("Token", "Token: " + accessToken.getToken()); 
              Log.e("UserID", "UserID: " + accessToken.getUserId()); 
              Log.e("facebookEmail", "facebookEmail: " + facebookEmail); 
              if(!facebookEmail.isEmpty() && accessToken!=null && !accessToken.getToken().isEmpty()) 
               signInWithFacebook(facebookEmail,accessToken.getToken()); 
             } catch (JSONException e) { 
              e.printStackTrace(); 
             } 
            } 
           } 
          }); 
        Bundle parameters = new Bundle(); 
        parameters.putString("fields", "id,name,link,email,first_name,last_name,gender"); 
        request.setParameters(parameters); 
        request.executeAsync(); 


       } 

       @Override 
       public void onCancel() { 
        Log.d("TAG_CANCEL", "On cancel"); 
       } 

       @Override 
       public void onError(FacebookException error) { 
        Log.d("TAG_ERROR", error.toString()); 
       } 
      }); 
} 

Qu'est-ce que je fais mal? App est à son tour dans panel.When de developer.facebook.com j'essaie d'ajouter SHA1 dans le panneau I avoir cette alerteDialog à partir de Facebook

There was a problem verifying the package mypage on Google Play. Please 
check the package name and try again. 
If your app isn't listed publicly on Google Play yet you can ignore 
this message. 

J'ai publié mon application en playstore mais je n'ai que la version bêta-test Comment puis-je résoudre mon problème? Merci

+0

Assurez-vous que vos clés de débogage sont dans ~/.android/debug.keystore. Aussi, si vous avez publié sur Google Play, alors vous avez utilisé une clé de production, pas la clé de débogage, donc vous devez obtenir SHA1 pour cette clé et non la clé de débogage –

+0

Merci de votre attention .Quand je mets cette commande en terminal, j'ai sha1 et inséré dans le panneau @Mohamed_AbdAllah – BekaKK

+0

La commande produira une sortie même si vous avez entré un mauvais emplacement ou de fausses informations d'identification. –

Répondre

0

vous utilisez le SHA1 pour la clé de débogage, régénèrent la SHA1 de la clé de la libération, et le soumettre sur facebook dev site

+0

J'ai également essayé de genérer sha1 avec keytools de mon projet comme ceci: keytool -exportcert -alias myalians -keystore ~ ​​/ Utilisateurs/myuser/Documents/AndroidProjects/myproject/myproject keytools | openssl sha1 -binaire | openssl base64 @AbuQauod – BekaKK