java - 在 java 中使用 facebook4j 从特定页面提取 facebook 用户信息

标签 java eclipse facebook

我想从特定页面提取用户信息(年龄、位置等)例如:我的搜索字符串是“obama”。所以我想要在 obama 的这个特定页面中点赞或评论的所有用户的信息。

我可以通过以下方式在某种程度上实现这一目标:

public static String getFacebookPostes(Facebook facebook, String searchPost)
            throws FacebookException {
        String searchResult = "Item : " + searchPost + "\n";
        StringBuilder searchMessage = new StringBuilder();
        ResponseList<Post> results = facebook.getPosts(searchPost);

        //facebook.getFriends(new Reading().fields("gender"));
        /*System.out.println("success");
        System.out.println(facebook.getMe().getFirstName());*/      

        String userId="";
        for (Post post : results) {
            System.out.println(post.getMessage());
            searchMessage.append(post.getMessage() + "\n");
            for (int j = 0; j < post.getComments().size(); j++) {
             searchMessage.append(post.getComments().get(j).getFrom()
                        .getName()
                        + ", ");
             searchMessage.append(post.getComments().get(j).getMessage()
                        + ", ");
             searchMessage.append(post.getComments().get(j).getCreatedTime()
                        + ", ");
             searchMessage.append(post.getComments().get(j).getLikeCount()
                        + "\n");

                         userId=post.getComments().get(j).getFrom().getId();
             User user = facebook.getUser(userId);
             System.out.println(user);
            }
        }

        searchResult = searchResult + searchMessage.toString();
        System.out.println(searchMessage.toString());
        return searchResult;
    }

引用网址:http://www.devx.com/Java/how-to-integrate-facebook-and-twitter-with-java-applications.html

但这只给了我姓名、用户名、性别、区域设置、个人资料链接..它给了我位置、生日、电子邮件的空值..

通过谷歌搜索,有人建议“这完全取决于用户公开了哪些信息”。所以我创建了一个测试帐户并将所有信息公开并在奥巴马页面上发表评论。它显示我公开的信息,除了电子邮件和生日。我如何提取这 2 个参数?

感谢任何帮助、建议和指导。

PS:我正在使用 eclipse kepler 和 facebook4j-core-2.0.2

最佳答案

确保您设置了正确的 OAuthPermissions,例如 email、user_birthday、read_stream 等。

configurationBuilder.setOAuthPermissions("email, publish_stream, id, name, first_name, last_name, read_stream , generic");

关于java - 在 java 中使用 facebook4j 从特定页面提取 facebook 用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501910/

相关文章:

iOS Facebook 获取好友列表

facebook - 在本地访问网站的 facebook 登录

Java:如何将类型强制转换为 "Runtime"类?

java.lang.IllegalStateException : No phase id bound to current thread (make sure you do not have two SeamPhaseListener instances installed)

javascript - Eclipse PDT : How to add 'Javascript' as an option to the PHP explorer New. ..弹出菜单?

java - 从一个 jlist 添加到另一个 jlist

java - 将输入字段从一个页面复制到另一个页面中的另一个字段

java - H2 数据库上未执行 Sql 查询

java - 在浏览器上编译时使用 Web 应用程序时出现 Eclipse 上的 OutOfMemoryError

c# - 无需身份验证即可解码签名请求