1

我有一个应用程序,我想在其中显示您的朋友共享的项目。这基本上是出现在您的 Facebook 新闻提要上的数据子集,因此我正在抓取/me/home并过滤掉一些我不需要的东西。

问题是/me/home速度非常慢。我看到的响应时间范围在 1200 到 10000 毫秒之间,平均可能在 4 秒左右。

即使使用缓存连接和正确执行 SSL 的 HTTP 库,这些请求时间也不会发生太大变化。

有谁知道获取新闻提要的更好方法?当我在浏览器中打开 Facebook 时,News Feed 几乎立即出现。所以我想知道是否有一些针对这些数据优化的 Graph API 调用或者已经缓存了这个结果。

是否有FQL替代方案?

4

1 回答 1

2

您可以在 FQL 中执行此操作。这个查询应该让你开始:

SELECT post_id, actor_id, target_id, message, attachment FROM stream WHERE filter_key = 'others'

在我提要的 Graph API 资源管理器中,FQL 查询的响应时间约为 1000 毫秒,而me/home.

对于 Facebook 的主页,请记住,他们使用一系列 AJAX 查询来一次填充您页面上的每个框。上周,我在一家酒店的连接速度非常慢,看着这些东西一盒一盒地填满。新闻提要首先填充,一次五个帖子,然后是页面上的其他框。如果页面加载性能可能是一个问题,您可能希望迁移到异步模型。

FQL 肯定会对此有所帮助,因为与仅使用 Graph API 相比,您将能够在 FB 返回之前更精细地过滤数据。

于 2012-07-18T15:25:35.517 回答