gpt4 book ai didi

php - facebook api很慢

转载 作者:可可西里 更新时间:2023-11-01 00:26:18 24 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,使用 facebook php sdk 从你的 facebook friend 那里获取所有生日和其他信息。

我得到好友列表并使用 foreach 循环,获取每个好友 ID 的所有信息。

一切正常,只需 4 分钟以上即可获取所有信息。(我必须为每个 friend 打一个新电话)

我不能指望我的应用程序的用户等待那么久。

有没有办法更快地获取信息。

这是我的代码:


//$arrFriends is a list with all id's and names of friends

foreach ($arrFriends as $f => $value)
{
echo('<pre>');
$fql = "select uid, email, name, hometown_location, sex, birthday, education, relationship_status, pic_square from user where uid=" . $value[id];
$param = array('method' => 'fql.query','query' => $fql,'callback' => '');
$friend = $facebook->api($param);
//dan opslaan in de database:
print_r($friend);
echo('</pre>');
}

最佳答案

你可以使用

SELECT uid, name, pic_square FROM user WHERE uid = me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

引用:https://developers.facebook.com/docs/reference/fql/

相同的结果,快速、快速、优雅的解决方案。愿演出与你同在。


另一种解决方案(给你一个idea)

如果您有数百个 friend ,那是很正常的,也是意料之中的。您在循环中请求 Facebook API 数百次。

许多可扩展的 facebook 应用程序在后台(在任务队列中)异步执行该工作,或者可能完全在不同的机器上执行该工作,以免减慢速度和消耗 CPU 突发。

尝试在您的 FQL 查询中使用 OR 连词。

$fql = "select [...] from user where uid=123213312 OR uid=129038823 OR uid=893423890

但在这种情况下,您的 FQL 查询变得越来越大,因此您必须对其进行划分。因此使用第一个解决方案。

关于php - facebook api很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5988827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com