Facebook Graph API:获取帖子总数

4
我一直在使用Facebook Graph API来显示用户的帖子。当我获取帖子的初始“页面”时,结果数据对象具有一个属性对象,其中包含和 URL属性。我希望基于这些可用的分页信息生成导航链接。但是,有时这些URL指向一个空的数据集,因此我显然不想将用户导航到一个空页面。
是否有一种方法可以找到集合中对象的总数,以便可以得出更好的导航?是否有任何方法可以获取更智能的分页数据?
更新: 如果我的帖子不清楚,请看https://graph.facebook.com/7901103/posts上的数据及其分页属性URL。然后跟随这些URL查看问题:空数据页面。
3个回答

1

由于它基于日期时间分页数据,因此在实际发送请求之前,您无法了解是否存在数据。但是,您可以从先前的 URL 预加载数据,以确定是否适合在您的网页中显示上一页链接。


这是我目前的解决方法,但似乎浪费了Facebook的资源。对于帖子数量的信息略有点过时我也没关系。我会再等一段时间看看是否有其他替代方案。 - Jacob

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

用户在您的应用程序预加载所有帖子后会频繁添加新帖子。 - Edison Chuang
1
好的,你不必每次都保存所有数据,只需保存新数据即可。也许当用户更新/重新加载页面时,您可以检查是否有任何新帖子被发布 https://graph.facebook.com/7901103/posts?since=2010-12-14 并将它们保存到数据库中。就像您自己的 FB 缓存一样。 - lejahmie
@jamietelin,你可能是对的,但是如果我现在尝试这个,我无法获取那个特定日期的帖子。API 有任何更改吗? - Balasubramani M
他们经常进行更改,请通过https://developers.facebook.com/docs/graph-api保持更新。 - lejahmie

0

我本来想把这个作为对你问题的评论发表,但是似乎我无法这样做...

我知道Graph API返回JSON,虽然我从未遇到过一种方法可以返回帖子的总数,但根据您用于处理响应的技术,您可能能够捕获包含帖子的JSON数组的大小。

例如,如果我正在使用Java应用程序,我可以使用json.org提供的库(或Google GSON,或带有JSON驱动程序的XStream)来填充对象,然后简单地使用JSONArray.length()方法来检查返回的帖子数量。

see: http://www.json.org/javadoc/org/json/JSONArray.html

这似乎是一个简单的解决方案,但如果你找不到让Facebook返回数据的方法,这可能是你需要的技巧。

请问你的应用程序基于哪种技术?


抱歉,我觉得你误解了我的问题。我知道返回给当前页面的集合长度,但我不知道下一页/上一页是否有任何数据。 - Jacob
啊,是的,非常抱歉,这是一个完全不同的问题。现在我很感兴趣,我会提高问题的优先级。我假设您也已经在 FB 开发者论坛上发布了吗? - Kai
是的,我也在这里发布了:http://forum.developers.facebook.net/viewtopic.php?id=83845。 - Jacob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接