2013-06-27 7 views
1

Я разработки Android приложения, и я использую этот код, чтобы получить некоторые данные из Facebook:Получить Facebook пользователей электронной почты с использованием новейших Facebook SDK

public void onFBLoginClick(View view) 
{ 
    // start Facebook Login 
    Session.openActiveSession(this, true, new Session.StatusCallback() 
    { 
     // callback when session changes state 
     @Override 
     public void call(final Session session, SessionState state, Exception exception) 
     { 
      if (session.isOpened()) 
      { 
       // make request to the /me API 
       Request.executeMeRequestAsync(session, new Request.GraphUserCallback() 
       { 
        // callback after Graph API response with user object 
        @Override 
        public void onCompleted(GraphUser user, Response response) 
        { 
         if (user != null) 
         { 
          txtUserName.setText(session.getAccessToken()); 

          saveUserData(user.getId(), user.getName(), user.getBirthday(), user.asMap().get("email").toString()); 
          saveAccessToken(session.getAccessToken()); 

          getFacebookUserProfilePicture(session.getAccessToken()); 
         } 
        } 
       }); 
      } 
     } 
    }); 
} 

Но я не могу получить электронную почту. Всегда имеет значение null.

Я установил email разрешения на User & Friend Permissions, на developers.facebook.com, но он не работает.

Что я делаю неправильно?

+0

http://stackoverflow.com/a/17082098/1939564 –

ответ

2

Используйте этот код, чтобы открыть сеанс, и вы готовы к работе!

String[] PERMISSION_ARRAY_READ = {"email","user_birthday"}; 
List<String> PERMISSION_LIST=Arrays.asList(PERMISSION_ARRAY_READ); 
session.openForRead(new Session.OpenRequest(getParent()).setPermissions(PERMISSION_LIST).setCallback(statusCallback)); 

дайте мне знать, если у вас возникли проблемы относительно этого.

+0

Спасибо за ваш ответ, но где, на моем коде, я должен поставить ваш код? – VansFannel

+0

положите его там, где вы в первый раз вызываете 'session.open ...()' или вставляете свой полный код, я скажу вам. – dd619

+0

Мой полный код находится здесь: http://stackoverflow.com/questions/17368614/get-facebook-friends-list-using-openactivesession-or-rest-api. Теперь я прошу список друзей, я получаю электронную почту и user_birthday без проблем. Благодарю. – VansFannel