Created
January 10, 2015 08:20
-
-
Save ayushhgoyal/9463bd21418e54d3ea2a to your computer and use it in GitHub Desktop.
Get User Info From Facebook (after setting up sdk and key hash)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static Session openActiveSession(Activity activity, | |
boolean allowLoginUI, Session.StatusCallback statusCallback) { | |
OpenRequest openRequest = new OpenRequest(activity); | |
openRequest.setPermissions(Arrays.asList("user_birthday", "email", "user_location")); | |
openRequest.setCallback(statusCallback); | |
Session session = new Session.Builder(activity).build(); | |
if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState()) | |
|| allowLoginUI) { | |
Session.setActiveSession(session); | |
session.openForRead(openRequest); | |
return session; | |
} | |
@Override | |
public void onActivityResult(int requestCode, int resultCode, Intent data) { | |
super.onActivityResult(requestCode, resultCode, data); | |
Session.getActiveSession().onActivityResult(this, requestCode, | |
resultCode, data); | |
} | |
private void performFacebookOperation() { | |
openActiveSession(SplashActivity.this, true, | |
new Session.StatusCallback() { | |
// callback when session changes state | |
@Override | |
public void call(Session session, SessionState state, | |
Exception exception) { | |
String access_token = session.getAccessToken(); | |
// session.getAccessToken(); | |
if (session.isOpened()) { | |
LogWrapper.v("Login complete may be"); | |
// make request to the /me API | |
Request.newMeRequest(session, | |
new Request.GraphUserCallback() { | |
@Override | |
public void onCompleted(GraphUser user, | |
Response response) { | |
LogWrapper.v(" me request completed"); | |
if (user != null) { | |
firstName = user.getFirstName(); | |
lastName = user.getLastName(); | |
try { | |
LogWrapper.v(user.getInnerJSONObject().getString("picture").toString()); | |
} catch (JSONException e) { | |
e.printStackTrace(); | |
} | |
try { | |
String email = user.getInnerJSONObject().getString("email"); | |
String bday = user.getBirthday(); | |
String gender = user | |
.asMap() | |
.get("gender") | |
.toString(); | |
LogWrapper.v("Gender from facebook:" + gender); | |
ShpUtil.saveToPrefs(getContext(), Var.USER_PROFILE.PHOTO, "http://graph.facebook.com/" + user.getId() + "/picture?type=normal"); | |
} catch (JSONException e) { | |
e.printStackTrace(); | |
} | |
} | |
} | |
}).executeAsync(); | |
} else { | |
LogWrapper.v(session.getState().toString()); | |
} | |
} | |
}); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment