Facebook API响应速度很慢(oAuth)

问题描述:

我正在做一些基准测试,在我的web应用程序中发现Facebooks API的响应速度比Twitters慢很多。Facebook API响应速度很慢(oAuth)

**为了记录在案,我现在用的是twitter-async库Twitter的API集成和Facebook的自己的图书馆here

随着Twitter的图书馆中,我可以节省OAuth凭证&秘密,然后我用这些来创建一个实例并打电话,很简单。对于Facebook,除非我要求offline_permission,否则每次用户登录到我的应用程序时,我都必须存储oAuth代码并重新创建oAuth访问令牌。

鉴于上述我可以:

0.02秒检索Twitter用户的时间表。

得到一个FB OAuth访问代码在1.16秒,那么我可以得到2.31秒的用户的详细信息,共计3.47秒,以获得用户的详细信息。

这些统计数据来自Facebook使用的功能,提供在他们的PHP API库中。我也尝试实现我自己的CURL函数,通过请求获取这些信息,结果并不好。

这与其他人使用Facebook API时的反应时间相同吗?

除了要求脱机许可和存储永久访问令牌之外,我还能如何加速这些请求,这是我的问题或Facebook上的问题吗?

感谢,

克里斯

+0

欢迎来到为Facebook开发的乐趣。 :-) – ceejayoz 2011-03-24 13:35:58

我也有经验了Facebook API是相当缓慢。我相信facebook的PHP API并不仅仅是在API调用的情况下绕过CURL,所以这并不能提高速度。

我在一个画布页面上工作,这意味着对于现有的用户,当他/她进来时,我得到一个访问令牌和fb_UID。起初,我做了一个/我的图形调用,有时还有一个/我/朋友。第一个需要0.6秒,第二个通常多一点。所以在这种情况下,我可以(在某种程度上)确认你的发现。

这就是为什么我现在切换到本地存储重要的东西,并只在需要时更新它(实时更新API)。基本上,在“正常”操作期间我不需要任何API调用。

我意识到你可能在你自己的页面上集成了FB,并且可能使用一些信息而不仅仅是名字,而且这个解决方案并不完全回答你的问题。但也许它仍然可以作为一小块拼图);

我期待着对此的其他观点!

我的应用程序从Facebook调用多个URL。这需要一些时间:/ 这就是为什么我决定编写一个函数,它将结果存储在$ _SESSION中,以便稍后再使用它,并附带一个时间戳以查看数据是否过旧。

这并不能解决实际问题,它只是节省了你不得不继续提取它。

我喜欢为最终用户体验做的事情,是将它们转发到加载.gif页面 - 然后让javascript请求实际提取数据的页面。这样,用户就可以在一个装载页面上看到一个漂亮的gif,直到下一页准备就绪。