2013. 7. 30. 17:45ㆍ안드로이드 개발
Facebook SDK 3.0을 이용하여 연동할 때 토큰과 email 주소를 가져오는 방법이다. 알고보면 별 것 아닌데 쓸만한 레퍼런스가 많지 않은 것이 이상하다.
Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() {
@Override
public void call(final Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
facebookToken = session.getAccessToken();
if(!session.getPermissions().contains("email")) {
String[] PERMISSION_ARRAY_READ = {"email","user_birthday"};
List<String> PERMISSION_LIST=Arrays.asList(PERMISSION_ARRAY_READ);
session.requestNewReadPermissions(
new Session.NewPermissionsRequest(MainActivity.this, PERMISSION_LIST));
}
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Log.i("user_email",(String)user.getProperty("email"));
Log.i("user_birthday",user.getBirthday());
}
});
}
}
});
수시로 정책이나 방법이 바뀌는 Facebook SDK 연동 구현은 늘 번거롭고 귀찮은 일이다.