使用restfb从facebook获取所有朋友

Getting all friends from facebook using restfb

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class);

System.out.println("Count of my friends- " + myFriends.getData().size());

我无法获取好友数据(姓名和其他字段)。 它显示我 count=0。 我也授予了 user_friends 的许可。 事实上,在 Graph API Explorer 中,我尝试将 graphAPI 作为 me/friends 它正在显示我

 {
      "data": [
      ],
      "summary": {
        "total_count": 463
      }
    }

请帮忙! 提前致谢

问题出在您的访问令牌上,因为我尝试了您使用我自己的访问令牌发布的代码片段,它打印出正确的朋友数。

您可以在以下位置调试您的访问令牌link:https://developers.facebook.com/tools/debug/access_token/

如果这不能解决您的问题,请回复您在 link 调试访问令牌时获得的访问令牌信息。

myFriends.getTotalCount() 会给你想要的东西。

您只能检索使用相同应用的好友。否则,无法获取您的朋友姓名。 如果您有这样的权限,将只返回朋友 total_count:

ScopeBuilder permissions = new ScopeBuilder();
permissions.addPermission(FacebookPermissions.USER_FRIENDS);
DefaultFacebookClient facebookClient = new DefaultFacebookClient(Version.VERSION_3_0);
String loginURL = facebookClient.getLoginDialogUrl(Constants.APP_ID, Constants.REDIRECT_URL, permissions);