Facebook Graph API分页 - Facebook4j - 坚持从那以后直到

时间:2014-05-17 13:20:09

标签: java php facebook facebook-graph-api facebook-java-api

我一直在使用Facebook4j来处理与Facebook图形API相关的要求,我的要求非常简单。

要求:我需要经常搜索给定关键字的Facebook对象(所有公共对象 - 帖子/评论/页面等等),并将所有结果保存到数据库中。

问题:虽然要求看起来很直接但我仍然坚持处理结果的分页并稍后调用API而不会在连续调用API时丢失任何项目(帖子/页面/评论)

进行一些研究我发现图API提供了几种分页方法,基于光标是最好的和推荐的。但遗憾的是,基于光标的搜索并不适用于所有类型的对象。所以我不得不选择使用直到参数的基于时间的分页。

问题1.我的决定是否正确?

以下是我使用Facebook4j进行搜索API调用时获得的上一个和下一个网址示例

 previous = https://graph.facebook.com/v1.0/search?limit=200q=infographic&access_token=
           [ACCESS_TOKEN]&since=1400152500&__previous=1, 
 next = https://graph.facebook.com/v1.0/search?limit=200&q=infographic&access_token=
            [ACCESS_TOKEN]&until=1399983583

假设我做了API调用并使用Facebook4j API方法,那么我应该可以使用 获取下一个方法并继续。

 facebook.fetchNext() 

但是当我在我的应用程序中得到一个异常时,或者在没有进一步结果的时候,我认为我应该能够持续存在/直到值并在将来将它们用于以后的API调用并继续获得搜索结果从我上次停止的地方开始。

Q2。关于分页的假设是否正确?

所以我假设我未来的API调用类似于下面的内容。我不确定是使用'since'还是'until'。

问题3.我在下面调用API以继续搜索上一次搜索的方式是正常的吗?

 ResponseList<JSONObject> results = facebook.search("KEYWORD",new Reading().limit(200).until("1399983583"));

此外,我不确定这些结果是否以这样的方式分页,当我使用提供的“NEXT url”/ fetchnext()时,我获得了最新的结果集?

问题4.现在澄清一下我提供的NEXT网址在分页和未来的API调用方面是否正常工作?

如果我的上述方法有误,请提出我应该遵循的最佳做法来处理这一要求。

0 个答案:

没有答案