6

我正在尝试将朋友页面转换为粉丝页面(大多数企业都错误地创建了朋友页面)并尝试通过电子邮件向朋友列表中的每个人发送有关此举动的信息。

我试过了

  1. FQL“从用户那里选择电子邮件,其中 uid=xxxx”
  2. 创建群组(不适合 5000 个朋友页面)
  3. Restfb: Connection myFriends = facebookClient.fetchConnection("me/friends", User.class) 等;

FQL 和 RestFB 方法都返回 nada,组电子邮件方法简直是一团糟。

这是一项安全功能,还是可以出于我的目的返回这些数据?

干杯

4

4 回答 4

2

要访问用户的私人信息,如电子邮件、帖子等,您应该有权访问这些详细信息。有关更多详细信息,请访问https://developers.facebook.com/docs/reference/api/permissions/

于 2012-01-18T08:48:12.370 回答
1

如果您使用的是restfb(Facebook graph API 和 Java 编写的旧 REST API 客户端),并且您想在 Oauth 身份验证后访问所有好友列表,您可以使用以下方法访问好友列表和 facebook id

public List<ArrayList> findFacebookFriendsUsingRest(String facebookAccessToken){

    List<ArrayList> myFacebookFriendList= new ArrayList();
    final FacebookClient facebookClient;
    facebookClient = new DefaultFacebookClient(facebookAccessToken);
    User user = facebookClient.fetchObject("me", User.class);
    String userName = user.getFirstName();

    if (userName == null){
        userName = user.getLastName();
    }

    String userEmail = user.getEmail();
    com.restfb.Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class);

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

    for(User friend: myFriends.getData()){
        System.out.println("Friends id and name: "+friend.getId()+" , "+friend.getName());      
        myFacebookFriendList.add(friend.getName());
    }

    System.out.println("All Friends : "+myFacebookFriendList);
}
于 2011-12-13T09:29:47.470 回答
0
Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class ,Parameter.with("fields", "id, name, picture, email"));

您可以指定http://developers.facebook.com/docs/reference/api/user下列出的任何属性

唯一的问题是 FB 不接缝返回朋友的电子邮件。我使用的是 restFb 1.5.3

于 2010-10-05T20:16:37.627 回答
0

Facebook 不提供用户,除非用户授权您的应用程序访问它。这是出于安全和用户隐私的考虑,想象一下如果每个人都可以拥有所有 FB 用户的电子邮件地址,那将是多么可怕。

于 2010-05-14T19:09:36.197 回答