2013-06-27 1 views
1

를 사용하여 페이스 북 사용자 이메일 받기 :나는 안드로이드 응용 프로그램을 개발하고있어, 나는 페이스 북에서 일부 데이터를 얻기 위해이 코드를 사용하고 최신 페이스 북 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입니다.

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

관련 문제