2010-12-14 125 views
4

我一直在使用Facebook Graph API来显示用户帖子。当我得到帖子的初始“页面”时,生成的数据对象具有paging属性对象,其中包含previousnextURL属性。我希望根据这个可用的分页信息生成导航链接。但是,有时这些URL指向一组空数据,所以我显然不想将用户导航到空白页面。Facebook Graph API:获取帖子总数

有没有办法找到一个集合中的对象总数,以便可以导出更好的导航?有什么办法可以获得更智能的分页数据吗?

更新: 对不起,如果我的帖子不清楚。为了说明,请查看https://graph.facebook.com/7901103/posts及其分页属性URL中的数据。然后按照这些网址查看问题:空白页面的数据。

回答

1

由于它使用日期时间基数页面数据。在实际发送请求之前,您无法了解是否有数据。但是,您可以预先加载之前网址中的数据,以确定是否适合在网页中显示前一个链接。

+0

这是我目前的解决方法,但它似乎浪费了Facebook的资源。对于有多少帖子有些陈旧的信息,我可以。我会再等一会儿,看看有没有人可以选择。 – Jacob 2010-12-14 02:54:19

0

我会尝试发布此为您的问题发表评论,但我似乎无法做到这一点...

我知道,图形API返回JSON,而我从来不遇到一种方法来获得返回的帖子总数,具体取决于您使用哪种技术处理响应,您可能能够获取包含帖子的JSON数组的大小。例如,如果我使用的是Java应用程序,则可以使用json.org(或Google GSON或带有JSON驱动程序的XStream)中提供的库来填充对象,然后使用JSONArray.length()方法来检查返回的帖子数量。

看到: http://www.json.org/javadoc/org/json/JSONArray.html

这似乎是有点简单的解决方案,但你身边需要,如果你不能找到一种方法,有Facebook的返回数据可能是工作的类型。

你能指定你的应用程序基于什么技术吗?

+0

对不起,我认为你误解了我的问题。我知道为当前页面*返回的集合的长度,但我不知道下一页/上一页中是否有任何数据。 – Jacob 2010-12-14 02:02:55

+0

ahh是的,我的歉意,这是一个很不相同的问题。现在我很感兴趣,我会回答这个问题。我假设你也在FB开发者论坛上发布了? – Kai 2010-12-14 02:34:46

+0

是的,我也发布在这里:http://forum.developers.facebook.net/viewtopic.php?id = 83845。 – Jacob 2010-12-14 02:41:12

1

为什么依赖Facebook?
为什么不预先加载用户的所有数据并保存到数据库中。然后你从数据库获取帖子并显示给用户。这样你就可以控制有多少帖子,以及如何管理下一个和上一个。

+0

用户会在您的应用程序预加载所有帖子后经常添加新帖子。 – 2010-12-14 09:31:14

+1

那么,你不必每次都保存所有的数据,只是新的。也许当用户更新/重新加载页面时,你检查是否有任何新帖子已经完成,如https://graph.facebook.com/7901103/posts?since = 2010-12-14',并将它们保存到数据库。有点像你自己的FB缓存。 – jamietelin 2010-12-15 15:39:49

+0

@jamietelin,你可能是对的,但是如果我现在尝试这个,我不会从相应的日期发布帖子。 API有没有变化? – 2014-10-06 10:52:32

相关问题