Использование FQL
будет быстрее, чем просмотр результатов Graph API. Вы можете получить идентификатор страниц, которые нравятся вашим друзьям, но, к сожалению, FQL
не возвращает никакой информации, кроме этой (например, имени). Взгляните на следующее.
Это предполагает, что вы используете PHP SDK с разрешением friends_likes.
// hold on to your user ID
$user_id = $facebook->getUser();
// query your friend's likes based on their ID
$query = "SELECT uid, page_id FROM page_fan WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $user_id)";
$result = $fb->api(array(
'method' => 'fql.query',
'query' => $query,
));
// optionally group the results by each friend ID
function arraySort($input, $sortkey){
foreach ($input as $key => $val) {
$output[ $val [ $sortkey ] ][] = $val;
}
return $output;
}
$friendLikes = arraySort($result,'uid');
// output the results
echo sprintf('<pre>%s</pre>', print_r($friendLikes,TRUE));
Преимущество этого в том, что вы делаете только один вызов API. Вам нужно будет сделать отдельные вызовы, чтобы получить имена друзей, и еще один для получения сведений о понравившейся странице, но теперь у вас есть идентификаторы, с которыми можно работать в прямом подходе.
person
Carson
schedule
12.06.2012