获取我的喜欢的Facebook图表需要75秒或更长时间

时间:2010-07-14 00:00:57

标签: facebook facebook-graph-api

在我的个人资料页面上,我正试图从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>

任何想法为什么这么长时间。我是以正确的方式做的,还是有更好的方法来解决这个问题。 非常感谢

2 个答案:

答案 0 :(得分:2)

是的,有一个比这更好的方法!基本上,你正在为EACH做一个额外的API调用。如果您喜欢75项内容,则需要进行76次API调用,每次调用都需要一秒钟。不要迭代'$ likes',而是:

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

然后你可以用'$ likes_items'

做你想做的事

答案 1 :(得分:2)

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