График Facebook для получения моих лайков занимает 75 секунд или больше - PullRequest
1 голос
/ 14 июля 2010

На странице своего профиля я пытаюсь вытащить все свои лайки из фейсбука и показать подробности о каждом лайке.Например, если мне нравится телешоу Seinfeld, я буду отображать логотип Seinfeld вместе с тем, сколько ему нравится и т. Д.

Я использую php sdk, и для извлечения данных требуется вечность.

В настоящее время у меня есть только 24 лайка, и для получения этих данных требуется 75 секунд.

Это код, который я использую

<code><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> 
<?
}

Любая идея, почемуэто занимает так много времени.Я делаю это правильно или есть лучший способ приблизиться к этому.Спасибо большое

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Вы должны быть в состоянии сделать $facebook->api('/me/likes?fields=id,name,link'), чтобы получить все необходимые данные за один проход.

2 голосов
/ 14 июля 2010

Да, есть гораздо лучший подход, чем этот!По сути, вы делаете дополнительный вызов API для каждого типа.Если вам нравится 75 вещей, вы делаете 76 вызовов API, каждый из которых может занять секунду.Вместо того, чтобы перебирать «$ likes», выполните:

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

Тогда вы можете делать то, что хотите, с помощью «$ likes_items»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...