使用Facebook API从页面的所有相册中获取所有照片。缓存还是查询?

时间:2011-11-02 20:59:25

标签: php mysql facebook-graph-api facebook-fql

我想要从Facebook页面的所有相册(公开的)获取所有照片(以及他们各自的评论,喜欢和标签)。虽然我知道如何使用Facebook API(或使用FQL)获取此信息,但我的问题更多的是关于我是否应该存储此信息。

我看到它有两个选项:为Facebook API创建查询并相应地显示结果 OR 让CRON作业运行PHP脚本,每隔几分钟更新一次数据库并提取信息来自该数据库。

Facebook确实能够提供real-time updates信息;但是,截至目前,他们不支持照片或专辑,所以这显然不是一种选择。

为了让您知道我要处理的信息量,我正在使用的页面包含大约40张专辑(并且正在计数),而且大多数专辑最多包含200张图片。这是很多信息!如果有人有缓存API调用结果的经验,那么我非常感谢您的输入。谢谢!

2 个答案:

答案 0 :(得分:2)

cereallarceny

我正在制作与 Feed 相似的内容,以及针对网页和应用的照片。我只需要存储专辑和照片的ID,我可以从2 id的图表api中获取所有其他内容。

一个大页面“让我们说walmart”https://shawnsspace.com/plugins/TimeLinegallery.php?pageid=walmart在大多数专辑中都有大约350张专辑和大约20张照片。

我估计他们的整个画廊超过3演出,不包括评论和类似数据,以及调整大小的图像。

在我看来,每个用户提供的信息比缓存所有信息的费用要少,每天甚至每小时都会更改。


关于cron职位 - 您的应用程序每天都有api请求的限制。轮询你的所有专辑和照片:大小的画廊可以超过这个限制,Facebook将删除你的访问权限,直到该mau限制重置或直到你获得超过限制的书面许可。

  

如果您超过或计划超过以下任何阈值   请联系我们,因为您可能需要遵守附加条款:(> 5M MAU)   或(每天100万次API调用)或(每天>> 50万次展示)。


在第二个注意:您需要的所有对象都有一个last_date:您可以进行调用,只需将具有日期的内容缓存到最后一个updated_date。这将大大减少您的传输时间和大小,但不会减少检查所需的呼叫次数。

答案 1 :(得分:0)

由于大多数内容可能会定期更改,例如喜欢,标记和添加,因此存储它不是一个好主意。您需要存储它的具体原因吗?从Facebook获取它CDN也会更快。你可以做的是存储链接等,但我会实时下载实际的图片和连接。