使用restfb从facebook获取所有朋友

时间:2016-04-25 13:30:49

标签: java facebook-graph-api 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作为我/朋友 它正在显示我

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

请帮忙! 提前致谢

3 个答案:

答案 0 :(得分:1)

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

您可以通过以下链接调试访问令牌:https://developers.facebook.com/tools/debug/access_token/

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

答案 1 :(得分:0)

myFriends.getTotalCount()会为您提供所需内容。

答案 2 :(得分:0)

您只能检索使用相同应用的朋友。否则,无法获取您的朋友姓名。 如果您拥有以下权限,则只会返回朋友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);