javascript - 使用 graph api 时如何获取 Facebook 响应提要的下一部分?

标签 javascript facebook api facebook-graph-api

我试图从 facebook graph api 获取好友列表,但我无法准确找到如何使用 api 响应包含的“下一个”分页链接。

FB.api(
            '/me',
            'GET',
            {"fields":"friends,friendlists"},
            function(response) {
                // Insert your code here
                console.log(response) ; 
            }
          );

这是我调用 api 的方式。

这是回复:

data:{
somedata
}
paging:{
next:"https://graph.facebook.com/v2.12/341589523008760/friendlists?access_token=EAAFsRERab38BAFOOzLdZBUp7QOQuKebY98TiMNg2ZAodT6MSWpPaMFhg4QXPMQLJZBZCYMoAwfn8Dwq0TMZAYUskWo3ZBzsGlA8fNAtbINoZA4p2wqXrTsODPXR0XnxI2VIRRHLdSdktbQDAcPya2dhSWbtku74ZCb8CRhZADxw7hVBd7cmD0ySdeMnZB6CsW0l7ZBdrqJSXbZBiXAZDZD&limit=25&offset=25&__after_id=enc_AdD0bVtB2CkUfZBZAuUEMK99EPxHE0UVoeX2lZAdsrus7K7CTpC4L8XVxLbv84fLxwxhaAZBtqZAv2bIDHsf192ZBhSmZAv"
}

我查看了他们的文档,但他们没有提到任何有关如何使用此“下一个”分页的示例或代码。

最佳答案

分页有3种类型..

  • 基于光标的分页
  • 基于时间的分页
  • 基于偏移量的分页

我更喜欢使用基于偏移的分页。

“当您不关心时间顺序而只想返回特定数量的对象时,可以使用偏移分页。仅当边缘不支持光标或基于时间的分页时才应使用此功能。”

偏移分页边缘支持以下参数:

  • offset:将每页的开头偏移指定的数字。
  • limit :这是可以返回的最大对象数。由于过滤,查询可能返回小于 limit 的值。不要依赖结果数量少于限制值来指示查询已到达数据列表的末尾,而是使用缺少 next 的情况,如下所述。例如,如果您将限制设置为 10,则返回 9 个结果,则可能有更多可用数据,但由于隐私过滤而删除了一项。出于性能原因,某些边缘也可能具有极限值的最大值。在所有情况下,API 都会返回正确的分页链接。
  • next :将返回下一页数据的 Graph API 端点。如果不包含,则这是数据的最后一页。由于分页与可见性和隐私的关系,页面可能为空但包含“下一个”分页链接。当“下一个”链接不再出现时停止分页。
  • previous :将返回上一页数据的 Graph API 端点。如果未包含,则这是数据的第一页。

太棒了,试试吧。

如果需要我可以找到一些例子..

编辑 包括 sample 提示偏移量和限制,以便您可以测试它。

    var offset = prompt("Offset", "0");
    var limite = prompt("Limite", "25");
    var username = id; 
FB.api('/v2.4/'+id+'/feed?fields=id,object_id,message,from,to,picture,type,likes.limit(25){id},shares,created_time,comments.limit(50),full_picture,link,caption,name,story,description&offset='+offset+'&limit=25&callback=', function(response) {
    limit = 50;
     var i = 0;
       jQuery.each(response.data, function () 

所以在这里你可以根据需要处理数据。 我前段时间用过这个,我认为需要更新。 这在从组创建所有源的应用程序中使用。 调用内部设置的变量offset='+offset+'&limit=25

因此,这可以获得 25 条“消息”(来自组 ID)更改偏移量,以获取响应的下一部分。 我在通话中对点赞、评论执行同样的操作: 评论限制(50)

我认为最好将 offset='+offset+'&limit=25 变量放在调用末尾。

如果可以看到您的代码,我可以提供更好的帮助。

关于javascript - 使用 graph api 时如何获取 Facebook 响应提要的下一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48819037/

相关文章:

javascript - 全局变量不起作用-largestString() 将字符串数组作为输入并返回该数组中最大的字符串

javascript - 如何在我的 for 循环 javascript 中等待一秒钟?

php - read_mailbox 在哪里(Facebook API)

python - Paypal API 错误 paypal.exceptions.PayPalAPIResponseError : u'Security header is not valid' (Error Code: 10002)

javascript - 如何在我的 Viber 机器人中使用 bot.getUserDetails

android - 牛轧糖/奥利奥的 JobScheduler

javascript - 从 Knockout 可观察数组中删除表中的选定行

javascript - 在两个带有淡入淡出的 div 之间切换的最佳方法是什么?

javascript - 添加 Facebook 分享按钮未显示

php - 使用 $facebook->api 从页面删除 Facebook 帖子