1

我是安卓新手。我正在尝试FriendsListFacebook. 我没有得到好友列表,因为我从 json 数组获得的数据始终为空。我已阅读有关设置权限以检索好友列表的信息,但我不明白在哪里以及如何设置它。谁能帮我解决这个问题。由于我是初学者,请逐步指导我。我的代码如下:

我添加了缺少的权限,如下所示:

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

但结果仍然为空。

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

}

 }
4

2 回答 2

1

由于 Graph API 的 v2.0 /me/friends,出于隐私原因,仅返回也授权您的应用程序的朋友。

更多信息:Facebook Graph Api v2.0+ - /me/friends 返回空,或仅返回也使用我的应用程序的朋友

于 2015-04-04T10:32:59.580 回答
0

这里有一些关于 Facebook 权限的信息: https ://developers.facebook.com/docs/facebook-login/permissions/v2.3 可能对你有用。注意 user_friend 权限。

于 2015-04-04T10:08:09.643 回答