Facebook 图表获得我的点赞需要 75 秒或更长时间

发布于 2024-09-09 04:39:02 字数 661 浏览 3 评论 0原文

在我的个人资料页面上,我试图从 Facebook 中提取我所有的点赞,并显示每个点赞的详细信息。例如,如果我喜欢电视节目《宋飞正传》,我将显示宋飞正传徽标以及有多少人喜欢等。

我正在使用 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>

知道为什么它花了这么长时间。我是否以正确的方式这样做,或者是否有更好的方法来解决这个问题。 非常感谢

On my profile page, I'm trying to pull all my likes from facebook and display the detail about each like. For example, if I like the tv show Seinfeld, I will display the Seinfeld logo along with how many like it etc.

I'm using the php sdk and it takes forever to pull the data.

Currently I have only 24 likes and it takes 75 seconds to pull this data.

This is the code I am using

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

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

$like_item = $facebook->api($like['id']);
?>
<fb:profile-pic uid="<?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>

Any idea why its taking so long. Am I doin it the right way or is there a better way to approach this.
Thanks a bunch

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赢得她心 2024-09-16 04:39:02

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

You should be able to do $facebook->api('/me/likes?fields=id,name,link') to fetch all of the needed data in one pass.

扛刀软妹 2024-09-16 04:39:02

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

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

然后你可以用 '$likes_items' 做你想做的事情

Yeah, there is a much better approach than this! Basically, you're making an additional API call for EACH like. If you like 75 things, you're making 76 API calls, each of which could take a second. Instead of iterating over ‘$likes‘, do:

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

Then you can do what you want with ‘$likes_items‘

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文