I am trying to get facebook friendlist with their profile picture but i didn't get any success in it. Here is the code
public class MainActivity extends Activity {
private final static String TAG = "MainActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Session.openActiveSession(this, true, new Session.StatusCallback(){
@Override
public void call(Session session, SessionState state,
Exception exception) {
requestMyAppFacebookFriends(session);
}
});
}
private Request createRequest(Session session) {
Request request = Request.newGraphPathRequest(session, "me/friends", null);
Set<String> fields = new HashSet<String>();
String[] requiredFields = new String[] { "id", "name", "picture"};
fields.addAll(Arrays.asList(requiredFields));
Bundle parameters = request.getParameters();
parameters.putString("fields", TextUtils.join(",", fields));
request.setParameters(parameters);
return request;
}
private void requestMyAppFacebookFriends(Session session) {
Request friendsRequest = createRequest(session);
friendsRequest.setCallback(new Request.Callback() {
@Override
public void onCompleted(Response response) {
List<GraphUser> friends = getResults(response);
Log.v(TAG, "friends list size "+friends.size());
}
});
friendsRequest.executeAsync();
}
private List<GraphUser> getResults(Response response) {
GraphMultiResult multiResult = response.getGraphObjectAs(GraphMultiResult.class);
GraphObjectList<GraphObject> data = multiResult.getData();
return data.castToListOf(GraphUser.class);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
The problem i am facing is that when i try to get graphobject response.getGraphObjectAs(GraphMultiResult.class) it returns null. So guide me what i'm doing wrong here or is there is any other way of getting a facebook friend.