基于Facebook图形api光标的分页在android中不起作用

时间:2017-07-26 06:44:57

标签: android facebook facebook-graph-api android-facebook

我正在努力让用户喜欢所有网页。我可以使用以下方法获取记录,但是分页无法正常工作。我每次都使用相同的数据获得相同的数据 - 之后 - 游标标记导致无限循环。限制参数也无效。

请求:

final String[] afterString = {""};  // will contain the next page cursor
final Boolean[] noData = {false};   // stop when there is no after cursor

            do {

                GraphRequest request = GraphRequest.newMeRequest(
                        AccessToken.getCurrentAccessToken(),
                        new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(JSONObject object, GraphResponse response) {
                                JSONObject jsonObject = response.getJSONObject();
                                Log.e("cursor data", jsonObject.toString());


                                try {
                                    JSONObject childObject = jsonObject.getJSONObject("likes");
                                    JSONArray jsonArray = childObject.getJSONArray("data");

                                    Log.e("cursor data", jsonArray.toString());
                                    //  your code


                                    if (!childObject.isNull("paging")) {
                                        JSONObject paging = childObject.getJSONObject("paging");
                                        JSONObject cursors = paging.getJSONObject("cursors");
                                        if (!cursors.isNull("after"))
                                            afterString[0] = cursors.getString("after");
                                        else
                                            noData[0] = true;
                                    } else
                                        noData[0] = true;
                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }
                            }
                        });

                Bundle parameters = new Bundle();
                parameters.putString("fields", "likes{link}");
                parameters.putString("after", afterString[0]);
                parameters.putString("limit", "20");
                request.setParameters(parameters);
                request.executeAndWait();

            }
            while (!noData[0] == true);

响应:

{
  "likes": {
    "data": [
      {
        "link": "https:\/\/www.facebook.com\/hackingworld27\/",
        "id": "206659129366770"
      },
      {
        "link": "https:\/\/www.facebook.com\/getBksy\/",
        "id": "259965487527431"
      },
      {
        "link": "https:\/\/www.facebook.com\/festivallapp\/",
        "id": "1688234858119600"
      },
      {
        "link": "https:\/\/www.facebook.com\/FestivalBooks-967208323354910\/",
        "id": "967208323354910"
      },
      {
        "link": "https:\/\/www.facebook.com\/subhamfashion\/",
        "id": "1454168668186632"
      },

    ],
    "paging": {
      "cursors": {
        "before": "MjA2NjU5MTI5MzY2Nzcw",
        "after": "MTEyMTgwMjU1NDg2MTI0"
      }
    }
  },
  "id": "858224610968939"
}

以上回复是样本回复。我试图通过喜欢这么多页面的用户ID发送请求,但每次都获得相同的25条记录。

0 个答案:

没有答案