如何在使用图形api时获取facebook响应Feed的下一部分?

时间:2018-02-16 01:51:39

标签: javascript facebook api facebook-graph-api

我试图从Facebook图表api获取好友列表,但我无法确切地找到如何使用" next" 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"
}

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

1 个答案:

答案 0 :(得分:1)

有3种类型的分页..

  • 基于游标的分页
  • 基于时间的分页
  • 基于抵消的分页

我首先使用基于偏移量的分页。

“当您不关心年表并只想要返回特定数量的对象时,可以使用偏移分页。仅当边缘不支持光标或基于时间的分页时才应使用此选项。”

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

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

很棒,试试吧。

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

编辑 包括样品 提示偏移和限制,以便进行测试。

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

所以在这里你可以根据需要处理数据。 我以前用过这个,我觉得需要更新。 这在用于创建来自组的所有Feed的应用中使用。 调用offset ='+ offset +'& limit = 25

内的变量集

因此,这可以获得25个“消息”(来自组ID)更改偏移量,以获得下一部分响应。 我在电话里面对喜欢,评论做同样的事情: comments.limit(50)

我认为最好在调用结束时将offset ='+ offset +'& limit = 25变量。

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