Skip to content

Instantly share code, notes, and snippets.

@ayushhgoyal
Created January 10, 2015 08:20
Show Gist options
  • Save ayushhgoyal/9463bd21418e54d3ea2a to your computer and use it in GitHub Desktop.
Save ayushhgoyal/9463bd21418e54d3ea2a to your computer and use it in GitHub Desktop.
Get User Info From Facebook (after setting up sdk and key hash)
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