【问题标题】:Facebook4j get page likesFacebook4j 获取页面喜欢
【发布时间】:2016-07-17 00:21:01
【问题描述】:

我正在使用 facebook4j-core-2.1.0 并试图获得喜欢的页面。我不知道我做错了什么,我是这方面的新手。

    public static void main(String[] args) throws FacebookException
    {
        // Generate facebook instance.
        Facebook facebook = new FacebookFactory().getInstance();

        // access token ...

        AccessToken at = new AccessToken(accessTokenString);        

        // Set access token.
        facebook.setOAuthAccessToken(at);

        String facebookUserName = "Google";

        Page pgId = facebook.getPage(facebookUserName);
        Page pgL = facebook.getLikedPage(pgId.getId());
        System.out.println("Page Likes :" + pgL);
    }

http://www.facebook.com/Google 显示它有 18,281,664 个赞,但是当我运行上面的代码时,我得到了 null 值。

我在这里错过了什么?

【问题讨论】:

  • 需要user_likes权限
  • @luschn Google facebook 页面是公开的,对吧?你的意思是我必须获得谷歌的许可(user_likes)才能访问它的页面喜欢?
  • 哦,对不起,我在考虑“来自用户的喜欢”,我的错。

标签: java facebook facebook-java-api


【解决方案1】:

我认为你应该尝试这样的事情:

String userName = "google";     
Page pgId = facebook.getPage(userName);
System.out.println("Page Likes :" + pgId.getLikes());

希望对你有帮助。

【讨论】:

    【解决方案2】:

    page.getLikes() 方法返回 null 给我,所以我选择了这个:

    RawAPIResponse facebookJson = facebook.callGetAPI("google?fields=engagement");
    JSONObject jsonObject = facebookJson.asJSONObject();
    String likesCount = ((JSONObject)jsonObject.get("engagement")).getString("count");
    System.out.println("likes :" + likesCount);
    

    使用Reading 和api v2.6 在这里查看如何指定api 版本http://facebook4j.org/en/faq.html#apiversion

    Reading pageReading = new Reading();
    pageReading.fields("name","id","fan_count");
    Page page = facebook.getPage("google", pageReading);
    System.out.println("likes :" + page.getFanCount());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-28
      相关资源
      最近更新 更多