How to get email id From Android Facebook SDK 4.6.0?

前端 未结 3 842
野趣味
野趣味 2021-01-29 10:20

Here is my code for getting user information after facebook login. I am trying to get emailid from user I am getting Name , id , but not getting the emailid .I have tried with t

3条回答
  •  猫巷女王i
    2021-01-29 10:50

    LoginManager.getInstance().logInWithReadPermissions(WelcomeActivity1.this, (Arrays.asList("public_profile", "user_friends","user_birthday","user_about_me","email")));
    
    String email;
    
    
    LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback() {
     @Override
      public void onSuccess(LoginResult loginResult) {
      Log.d("tag","FF fb onSuccess");
      GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(),new GraphRequest.GraphJSONObjectCallback() {
        @Override
        public void onCompleted(JSONObject object,GraphResponse response) {
         try {
               String[] splited ;
               JSONObject obj =  object.getJSONObject("picture").getJSONObject("data");
    
                                  if (object.has("email"))
                                  {
                                     email =  object.getString("email");
                                  }
                                  else
                                  {
                                      email = "";
                                  }
    
    
    
                                } catch (JSONException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
    
    
                                }
                            });
                    Bundle parameters = new Bundle();
                    parameters.putString("fields", "id,name,link,birthday,picture,email,gender");
                    request.setParameters(parameters);
                    request.executeAsync();
    
    
                }
    
                @Override
                public void onCancel() {
                    Log.d("tag","fb onCancel");
                     // App code
                }
    
    
    
    @Override
                public void onError(FacebookException exception) {
                    Log.d("tag","fb onError");
                     // App code   
                }
    });
    

提交回复
热议问题