1

在我的个人资料页面上,我试图从 facebook 中提取我所有的喜欢并显示每个喜欢的详细信息。例如,如果我喜欢电视节目 Seinfeld,我会显示 Seinfeld 徽标以及喜欢它的人数等。

我正在使用 php sdk,它需要很长时间才能提取数据。

目前我只有 24 个赞,提取这些数据需要 75 秒。

这是我正在使用的代码

<pre>
$likes = $facebook->api('/me/likes');

foreach($likes['data'] as $like) {

$like_item = $facebook->api($like['id']);
?>
<fb:profile-pic uid="&lt;?php echo $like_item['id'];?>" size="square"></fb:profile-pic> 
<?php 
echo $like_item['name'];
?>
<fb:like href="<?php echo $like_item['link'];?>"></fb:like> 
<?
}

</pre>

知道为什么要花这么长时间。我是以正确的方式做的还是有更好的方法来解决这个问题。谢谢一堆

4

2 回答 2

2

是的,有比这更好的方法!基本上,您正在为 EACH 进行额外的 API 调用。如果您喜欢 75 件事情,那么您将进行 76 次 API 调用,每一次都可能需要一秒钟。不要迭代“$likes”,而是:

$likes_csv = implode(',',$likes['data']);
$likes_items = $facebook->API('/?ids='.$likes_csv);

然后你可以用'$likes_items'做你想做的事</p>

于 2010-07-14T00:19:07.327 回答
2

您应该能够$facebook->api('/me/likes?fields=id,name,link')一次性获取所有需要的数据。

于 2010-07-14T03:27:50.877 回答