获取喜欢Facebook页面上页面的人的姓名



我需要你的帮助。

我正在使用restfb库开发一个java应用程序,我想在其中获得所有喜欢fb粉丝页面的Facebook用户。我为此工作了很多天,但没有找到解决方案。

我写了这段代码,但它只返回喜欢者的数量:

FacebookClient fb= new DefaultFacebookClient("ACCESS_TOKEN");
        Page page = fb.fetchObject("PAGE_ID", Page.class);
        System.out.println("My pages likes: " + page.getLikes());

请注意,当我登录到 fb 页面时,我从图形 API 资源管理器获取ACCESS_TOKEN,因为我没有找到从 java 代码获取令牌的方法。因此,当我注销时,我遇到此错误:

Exception in thread "main" com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: Error validating access token: The session is invalid because the user logged out.
    at com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:766)
    at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:688)
    at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:630)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:592)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:556)
    at com.restfb.DefaultFacebookClient.fetchObject(DefaultFacebookClient.java:244)
    at testrestfb.testfb.main(testfb.java:95)

请帮我解决这个问题。

提前谢谢。

您应该使用 fql 查询获取有关此类内容的信息。

请参阅下面的进行更复杂的呼叫

在这里,我们调用 API fql.query 来执行自定义查询。

// FQL query which asks Facebook for your friends' names,
// profile picture URLs, and network affiliations
String query =
  "SELECT name, pic_big, affiliations FROM user " +
  "WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=12345)";
// Executes an API call with result mapped to a list of classes we've defined.
// Note that you can pass in an arbitrary number of Parameters - here we
// send along the query as well as the "give me HTTPS URLs" flag
List<User> users =
  facebookClient.executeForList("fql.query", sessionKey, User.class,
    Parameter.with("query", query), Parameter.with("return_ssl_resources", "true"));

详情请见此处

最新更新