I'm trying to obtain my friend list from facebook using new SDK(3.0). I'm facing problems related to what kind of params I need to insert in a Bundle and how to use newMyFriendRequest and GraphAPI.
I didn't find on facebook documentation a place about what kind of field does we have to use. Based on GraphExplorer I insert in my Bundle the key "fields" with this string "id,name,friend" as a value. The code below shows what I'm doing right now. After I get My picture and name I execute newMyFriendRequest. I believe it uses GraphAPI by default.
I've seen here on StackOverflow some posts related:
How to send a FQL query with the new Android SDK
Facebook Android SDK request parameters: where find documentation?
It helps me little and I don't want to use FQL. For response II'm receiving this JSON like an answer:
{Response: responseCode: 500, graphObject: null, error: {HttpStatus: 500, errorCode: 100, errorType: FacebookApiException, errorMessage: Unsupported operation}, isFromCache:false}
Notice I'm very new in Facebook SDK for Android.
private void onSessionStateChange(final Session session, SessionState sessionState, Exception ex){ if(session != null && session.isOpened()){ getUserData(session); } } private void getUserData(final Session session){ Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if(user != null && session == Session.getActiveSession()){ pictureView.setProfileId(user.getId()); userName.setText(user.getName()); getFriends(); } if(response.getError() !=null){ } } }); request.executeAsync(); } private void getFriends(){ Session activeSession = Session.getActiveSession(); if(activeSession.getState().isOpened()){ Request friendRequest = Request.newMyFriendsRequest(activeSession, new GraphUserListCallback(){ @Override public void onCompleted(List<GraphUser> users, Response response) { Log.i("INFO", response.toString()); } }); Bundle params = new Bundle(); params.putString("fields", "id,name,friends"); friendRequest.setParameters(params); friendRequest.executeAsync(); } }
Log into Facebook on a computer. From your News Feed, click Friends in the left menu. If you don't see it, click See More.
You need to generate token (by clicking on Get Token you will get it) with data you want from facebook API, need to select friends option to get the friend count.
You can use lists to organize your friends on Facebook. Using a list, you can post an update for specific people, like your coworkers or friends who live near you. You can also see updates from specific groups of people (example: close friends, family). You can add or remove friends from these lists at any time.
In getFriends() method, change this line:
params.putString("fields", "id,name,friends");
by
params.putString("fields", "id, name, picture");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With