3

特定のページの「いいね!」の数をその ID で取得したいと考えています。

これは、facebook-android-sdk で翻訳したいグラフ API リクエストです。

作り方がわかりません。試してみるとエラーが発生します:

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

2 に答える 2

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();

リクエストは、次のグラフ API リクエストに変換されます。

于 2013-04-24T08:45:36.863 に答える
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();

また、Json 応答に「total_count」フィールドがあります。

于 2014-04-16T13:21:42.033 に答える