I tried to get updated data from Graph API using accessToken but it always showing Logout button screen.
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
accessToken = newAccessToken;
}
};
@Override
protected void onDestroy() {
super.onDestroy();
if(isFromFb){
accessTokenTracker.stopTracking();
}
}
if(accessToken != null) {
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.d("TestLog user : " , object.toString());
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday,picture.type(large),friends");
request.setParameters(parameters);
request.executeAsync();
}
How to get latest profile data second time on wards in Facebook SDK 4.0
Sorry I did a small mistake there final I got the answer. I need to get current accessToken first. But earlier I taken only when onCurrentAccessTokenChanged method.
accessToken = AccessToken.getCurrentAccessToken();
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
accessToken = newAccessToken;
}
};
@Override
protected void onDestroy() {
super.onDestroy();
if(isFromFb){
accessTokenTracker.stopTracking();
}
}
if(accessToken != null) {
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.d("TestLog user : " , object.toString());
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday,picture.type(large),friends");
request.setParameters(parameters);
request.executeAsync();
}