2
활동 코드의 날짜 : 당신의 onComplete 방법을 사용 GraphResponse 대신 된 JSONObject의 매개 변수에안드로이드 페이스 북 4.0 SDK, 사용자의 탄생
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday", "user_friends"));
callbackManager = CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback <LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
Profile profile = Profile.getCurrentProfile();
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try {
String id = object.getString("id");
String name = object.getString("name");
String gender = object.getString("gender");
String first_name = object.getString("first_name");
String last_name = object.getString("last_name");
String email = object.getString("email");
String birthday = object.getString("birthday");
tv_profile_name.setText(name);
firstname.setText(first_name);
lastname.setText(last_name);
genderr.setText(gender);
dob.setText(birthday);
emailid.setText(email);
String imageurl = "https://graph.facebook.com/" + id + "/picture?type=large";
Picasso.with(MainActivity.this).load(imageurl).into(iv_profile_pic);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday,first_name,last_name");
request.setParameters(parameters);
request.executeAsync();
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
if (currentAccessToken == null) {
tv_profile_name.setText("");
firstname.setText("");
lastname.setText("");
genderr.setText("");
dob.setText("");
emailid.setText("");
iv_profile_pic.setVisibility(View.INVISIBLE);
}
}
};
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException error) {}
});
}
은 단지 성별을 표시하지만, 전자 메일이나 생일 –
되지 {AccessToken 토큰 : ACCESS_TOKEN_REMOVED 권한 : public_profile, CONTACT_EMAIL, user_friends 이메일]} –
onActivityResult를 물 : –