0

je l'ai fait facebook connexion, mais je ne sais pas comment obtenir l'adresse e-mail et afficher sous une autre formeadresse get email facebook Android

Alors, voici le code

private void nextActivity(Profile profile){ 
    if(profile != null){ 
     Intent main = new Intent(LogInTo.this, SetUsername.class); 
     main.putExtra("name", profile.getFirstName()); 
     main.putExtra("surname", profile.getLastName()); 
     //main.putExtra("email", profile.get()); 
     main.putExtra("imageUrl", 
     profile.getProfilePictureUri(200,200).toString()); 
     startActivity(main); 
     finish(); 
    } 
} 

Ceci est mon rappel

LoginButton loginButton = (LoginButton)findViewById(R.id.loginButton); 
    FacebookCallback<LoginResult> callback = new 
    FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      Profile profile = Profile.getCurrentProfile(); 
      nextActivity(profile); 
      Toast.makeText(getApplicationContext(), "Logging in...", Toast.LENGTH_SHORT).show(); 

     } 

     @Override 
     public void onCancel() { 
     } 

     @Override 
     public void onError(FacebookException e) { 
     } 
    }; 
    loginButton.setReadPermissions(Arrays.asList("user_friends")); 
    loginButton.registerCallback(callbackManager, callback); 

Et voici le code dans une autre forme où est indiquée l'adresse e-mail que vous obtenez de facebook

Bundle inbundle = getIntent().getExtras(); 
    String name = inbundle.get("name").toString(); 
    String surname = inbundle.get("surname").toString(); 

    FbFullname = (EditText) findViewById(R.id.fbfullname); 
    FbFullname.setText("" + name + " " + surname); 

    FbUsername = (EditText) findViewById(R.id.fbusername); 
    FbType = (EditText) findViewById(R.id.fbtype); 
    FbEmail = (EditText) findViewById(R.id.fbemail); 
+0

Vous n'avez pas demander à l'utilisateur la permission de lire leur courrier électronique. – CBroe

+0

devrais-je l'ajouter ici? loginButton.setReadPermissions (Arrays.asList ("user_friends")); –

+0

Sharmaine Shane Amansec Cinens recevez-vous déjà l'email? J'ai aussi ce problème –

Répondre

0
loginButton.setReadPermissions("public_profile email");` 

ajouter cette ligne après créer loginBouton.

et pour obtenir les détails

GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 
     @Override 
     public void onCompleted(JSONObject object, GraphResponse response) { 

      JSONObject json = response.getJSONObject(); 
      try { 
       if (json != null) { 

        JSONObject data = json.getJSONObject("picture").getJSONObject("data"); 
        String name=json.getString("name"); 
        String email= json.getString("email"); 
        String picUrl=data.getString("url"); 
       } 

      } catch (JSONException e) { 

      } 
     } 
    }); 
+0

je l'ajoute déjà mais comment l'obtenir et l'afficher sous une autre forme? –

+0

J'ai mis à jour ma réponse. Ajoutez ceci dans 'onSuccess()'. –

+0

ajouté mais comment afficher l'e-mail dans une vue texte. –