2013-04-23 125 views
3

我想獲得給定頁面的喜歡數量與它的id。Facebook android sdk如何獲得給定頁面的喜歡數量

這是graph api request我想用facebook-android-sdk來翻譯。

我不知道如何做到這一點。我得到的錯誤,如果我嘗試:

Bundle params = new Bundle(); 
params.putString("fields", "likes"); 
Request request = new Request(session,"104249301622", params, HttpMethod.GET, new Request.Callback() { 
    @Override 
    public void onCompleted(Response response) { 
     JSONObject res = response.getGraphObject().getInnerJSONObject(); 
     System.out.println(res); 
    } 
}); 

回答

4

這裏是要調用的方法:

Session session = Session.getActiveSession(); 
Bundle params = new Bundle(); 
params.putString("id", "104249301622"); 
params.putString("fields", "likes"); 
Request request = new Request(session, "search", params, HttpMethod.GET, new Request.Callback() { 

    @Override 
    public void onCompleted(Response response) { 
     try { 
      JSONObject res = response.getGraphObject().getInnerJSONObject().getJSONArray("data").getJSONObject(0); 
      numberOfLikes = res.getInt("likes"); 
     } catch (Exception e) { 
     } 
    } 
}); 
RequestAsyncTask task = new RequestAsyncTask(request); 
task.execute(); 

請求將在以下graph api request翻譯。

+0

在這可以得到喜歡的總數嗎? @obo – 2013-07-10 07:41:15

+0

是的,這是總數。您可以使用帶有您選擇的ID的api呼叫進行驗證。 – obo 2013-07-10 08:32:56

+0

我有圖我想顯示喜歡,我會在哪裏將這些代碼放在我的空白主活動中以在簡單的TextView中顯示喜歡? – Jack 2014-04-25 11:48:02

1

了Facebook SDK 3.8

Bundle b = new Bundle(); 
    b.putBoolean("summary", true); 


    new Request(
      session, 
      id + "/likes", 
      b, 
      HttpMethod.GET, 
      new Request.Callback() { 
       public void onCompleted(Response response) { 
            String s=response.toString();     
           } 
      } 
    ).executeAsync(); 

而且你會在HACE JSON響應字段 「TOTAL_COUNT」。

+0

我們可以在單個請求中同時獲得評論/贊成數嗎? – 2014-11-20 13:51:03

相關問題