2016-12-08 3 views
-1

Я внедрил Facebook в приложение и получаемое имя, адрес электронной почты и идентификатор из графика api, теперь я не могу получить его по электронной почте из графика api, и я передал идентификатор, имя, поля электронной почты, но получил только идентификатор, имя но не email.Is это изменение любой политики конфиденциальности из facebook. Я использую https://graph.facebook.com/me?access_token=(token здесь) & поля = Id, имя, адрес электроннойНе удается получить электронную почту от facebook График api

+0

Можете ли вы проверить этот код http://stackoverflow.com/questions/36175764/facebook-graph-in-login-onsuccess-execute-and-wait/36176406 # 36176406 –

+1

Но я использовал график api – Android1

ответ

0

попробовать с этим Бег успешно

private void facebookLogin() { 

      mFaceBookloginButton = (LoginButton) findViewById(R.id.login_button); 
      mFaceBookloginButton.setReadPermissions("public_profile"); 
      mFaceBookloginButton.setReadPermissions("email"); 
      callbackManager = CallbackManager.Factory.create(); 


      mFaceBookloginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
       @Override 
       public void onSuccess(LoginResult loginResult) { 
        MyLog.debug("Name" + loginResult.getAccessToken(), ActivityLogin.class); 
        Profile profile = Profile.getCurrentProfile(); 

        if (profile != null) { 
         MyLog.debug("Pic Url" + profile.getProfilePictureUri(200, 200), ActivityLogin.class); 
         MyLog.debug("User Name" + profile.getFirstName(), ActivityLogin.class); 
         MyLog.debug("User Email" + profile.getLastName(), ActivityLogin.class); 
        } 
        GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 

         @Override 
         public void onCompleted(JSONObject object, GraphResponse response) { 
          FacebookUser facebookUser = null; 
          try { 
           if (object != null) { 
            facebookUser = new FacebookUser(); 

            if (object.has("id")) { 
             facebookUser.setId(object.getString("id")); 
            } 
            if (object.has("first_name")) { 
             facebookUser.setFirst_name(object.getString("first_name")); 
            } 
            if (object.has("last_name")) 
             facebookUser.setLast_name(object.getString("last_name")); 
            if (object.has("email")) 
             facebookUser.setEmail(object.getString("email")); 
           } 


           if (facebookUser != null) { 
            hitSocialLogin(facebookUser); 
            LoginManager.getInstance().logOut(); 
           } 
          } catch (Exception e) { 
           MyLog.printException(e); 
          } finally { 
           LoginManager.getInstance().logOut(); 
          } 
         } 
        }); 
        Bundle parameters = new Bundle(); 
        parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location"); // Parámetros que pedimos a facebook 
        request.setParameters(parameters); 
        request.executeAsync(); 

       } 

       @Override 
       public void onCancel() { 
        MyLog.debug("on Cancel", ActivityLogin.class); 
       } 

       @Override 
       public void onError(FacebookException exception) { 
        MyLog.debug("on Cancel" + exception, ActivityLogin.class); 
       } 
      }); 
     } 
Смежные вопросы