使用API和Laravel加载所有Facebook朋友以进行进一步处理的最有效方法


Most efficient way to load all facebook friends with API and Laravel for further processing

我正在构建一个应用程序,该应用程序应该显示所有用户的Facebook好友。整个列表应该是可搜索的(名称),并可根据性别和将来的其他参数(如位置)进行筛选。

所以想象一下,你进入网页,加载了前30个朋友(或任何适合你的屏幕),当你滚动时,更多的朋友会加载。输入后,系统将开始搜索名称。

现在我想知道这样做的有效方法是什么。显然,我无法加载页面上的所有朋友,因为有些人有超过1000个朋友,并且页面还显示他们的个人资料图片。

因为我需要进行过滤,所以我不太确定我是否应该一次性加载整个 friends 对象并在之后使用 PHP 进行处理,或者我是否应该在用户向下滚动时从 facebook 异步加载它。

我的想法是加载整个好友列表,在会话中闪烁它,并在需要过滤和搜索等处理时再次抓取它。

这是要走的路吗?

好友变化不会很快,因此您可以一次抓住所有好友,限制设置为 5000(最多好友数量)并在整个会话中使用它们。我只是希望 API 允许将限制设置得那么高。

me/friends?fields=id,name&limit=5000

这是使用搜索的唯一方法,并且只需要一次 API 调用。毕竟,您只会获得名称,并在头像在您的应用程序中可见时立即添加头像(例如,在搜索之后)。