我想从 facebook php-sdk 中提取我的朋友列表,这些朋友“喜欢”某些仅来自某些 app_id 的帖子。让我举个例子,如果你访问 www.rottentomatoes.com,你可以在朋友/朋友部分看到你所有对任何电影写评论/评论的朋友。
我认为 FQL 是一种很好且干净的方法,但实际上并非如此,因为处理数据需要很长时间,我认为它还不能用于在线应用程序。
这是我到目前为止提出的代码:
function cmp($a, $b)
{
if ($a["like"] == $b["like"]) {
return 0;
}
return ($a["like"] > $b["like"]) ? -1 : 1;
}
try
{
$fql = 'SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1='.$uid.') AND has_added_app = 1';
$_friends = $facebook->api(array('method' => 'fql.query','query' => $fql));
}
catch(FacebookApiException $e)
{
print_r($e);
error_log($e->getType());
}
// Extract the user ID's returned in the FQL request into a new array.
$likes = array();
if (is_array($_friends) && count($_friends) > 0)
{
foreach ($_friends as $friend)
{
$fid = $friend["uid"];
try
{
$fql = 'SELECT url FROM url_like WHERE user_id = '.$fid.' AND strpos(lower(url),"muchogusto") >=0';
$_likes = $facebook->api(array('method' => 'fql.query','query' => $fql));
$likes[] = array("uid" => $fid, "like" => count($_likes));
}
catch(FacebookApiException $e)
{
$likes[] = array("uid" => $fid, "like" => 0);
continue;
error_log($e->getType());
}
}
}
usort($likes, "cmp");
print_r($likes);
我有很多问题,当然你可以帮助我,因为我是新手。
有人可以帮我在没有 FQL 的情况下编码吗?我只需要这个:
- 我的朋友列表
- 某些帖子的点赞数仅在
- 某些APP_ID
非常感谢你的帮助。