Facebook graph api 基于光标的分页在 Android 中不起作用

2023-12-22

我正在尝试获取用户喜欢的所有页面网址。我可以使用下面的方法获取记录,但分页不起作用。我每次都得到相同的数据,并且游标标记前后相同,导致无限循环。限制参数也不起作用。

Request:

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 条记录。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook graph api 基于光标的分页在 Android 中不起作用 的相关文章

  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • 如何通过代码检测Android上的表情符号支持

    通过代码 我可以制作一个按钮 将这 3 个表情符号插入到文本中 不过 在许多手机上 当用户单击按钮时 问题是 显示为 X X X 或者更糟糕的是 它只显示三个空白空间 我想在无法正确显示表情符号的 Android 设备上禁用并隐藏我自己的内
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • foo.setVisibility(View.GONE) 和parent.removeView(foo) 之间的区别

    如果 foo 是一个视图 那么有什么区别foo setVisibility View GONE and fooParent removeView foo 我对两个语句之前和之后视图的内存消耗特别感兴趣 可见性设置为 GONE 的视图是否会消
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • SimpleDateFormat 无法解析的日期 如果语言环境为 ES,则会出现错误。推特“创建时间”

    我正在尝试将 Twitter created at 转换为阿根廷日期时间 如果我这样做 final String TWITTER EEE MMM dd HH mm ss SimpleDateFormat sf new SimpleDateF
  • 取消 Facebook 直播视频静音

    我目前正在尝试嵌入一个 Facebook 实时视频 该视频将自动播放且音频未静音 我尝试过使用该解决方案在这篇文章中 https stackoverflow com questions 32584472 how to enable soun
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • 如何从我的网站在 Facebook 上发布新闻源

    我有一个网站 允许用户通过 RPX 系统使用 Facebook 登录 ID 登录 当用户在我的网站上发表评论时 我希望它也能自动在他们的 Facebook 墙上发布评论 我如何使用 Rails 来做到这一点 我已经学习 facebooker
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException

随机推荐