1

プロフィール ページで、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>

なぜそんなに時間がかかるのか考えてみてください。私はそれを正しい方法で行っていますか、それともこれにアプローチするためのより良い方法はありますか? 本当にありがとう

4

2 に答える 2

2

$facebook->api('/me/likes?fields=id,name,link')必要なすべてのデータを 1 回のパスで取得できるはずです。

于 2010-07-14T03:27:50.877 に答える
2

ええ、これよりもはるかに優れたアプローチがあります。基本的に、それぞれのような追加の API 呼び出しを行っています。75 個のものが好きな場合、76 個の API 呼び出しを行うことになり、それぞれに 1 秒かかることがあります。「$likes」を繰り返す代わりに、次のようにします。

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

その後、「$likes_items」でやりたいことができます</p>

于 2010-07-14T00:19:07.327 に答える