1

I am a newbie in Android. I am trying to retrieve my FriendsList from Facebook. I am not getting the friendlist as the data I get from the json array is always null. I have read about setting the permissions to retrieve the friendslist but I don't understand where and how to set it. Can anyone help me with this issue. please instruct me step by step as I am a beginner. My codes are as follows:

I have added the missing permission as follows:

 mFacebook.authorize(MainActivity.this, new String[] { "user_friends" },
                    new LoginDialogListener());

but still the result is null.

MainActivity.java

   public Facebook mFacebook = new Facebook(mAPP_ID);
   public void getme()
     {
        // TODO Auto-generated method stub
       Session activeSession = mFacebook.getSession();
       if(activeSession.getState().isOpened())
         {
         final AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
         mAsyncRunner.request("me/friends", new FriendListRequestListener());
         }


      }      

FriendsListRequestListener.java

     public class FriendListRequestListener implements RequestListener {

@Override
public void onComplete(String response, Object state) {
    // TODO Auto-generated method stub
    try
    {
    JSONObject json = Util.parseJson(response);
    final JSONArray friends = json.getJSONArray("data");
    Log.i("jjj",""+friends);

    }
    catch(JSONException exception)
    {
        Log.e("err", ""+exception.toString());
    }
}

@Override
public void onIOException(IOException e, Object state) {
    // TODO Auto-generated method stub

}

@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {
    // TODO Auto-generated method stub

}

@Override
public void onMalformedURLException(MalformedURLException e, Object state) {
    // TODO Auto-generated method stub

}

@Override
public void onFacebookError(FacebookError e, Object state) {
    // TODO Auto-generated method stub

}

 }

2 Answers2

1

Since v2.0 of the Graph API, /me/friends only returns friends who authorized your App too, for privacy reasons.

More information: Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

Community
  • 1
  • 1
andyrandy
  • 72,880
  • 8
  • 113
  • 130
0

there is some info about Facebook permission here: https://developers.facebook.com/docs/facebook-login/permissions/v2.3 may be it will be usefull for you. Pay attention to user_friend permission.

Andrey
  • 160
  • 1
  • 9