这可能让所有的朋友都喜欢?现在,我通过2步得到这个:如何通过Facebook API获取朋友喜欢
- 拿走我所有的朋友列表
- 通过重复这些名单我得到的所有个人喜欢,
但它似乎非常大的过程中,任何人有想提高这项任务的表现?
这可能让所有的朋友都喜欢?现在,我通过2步得到这个:如何通过Facebook API获取朋友喜欢
但它似乎非常大的过程中,任何人有想提高这项任务的表现?
最后我找到了它2周后在看Facebook的API文档
FB.api("/likes?ids=533856945,841978743")
FB.api("me/friends",{
fields:'id',
limit:10
},function(res){
var l=''
$.each(res.data,function(idx,val){
l=l+val.id+(idx<res.data.length-1?',':'')
})
FB.api("likes?ids="+l,function(res){
console.log(res);
})
})
我相信这是唯一的方法。几周前我看了这个问题。不要以为他们已经改变了API。
http://developers.facebook.com/docs/reference/api/
编辑: 我不知道我的理解不够好,你的意思......如果你的意思是你想获得用户喜欢的职位,你必须做的事情的清单是这样的:
这是你想要的吗?
使用FQL
将是比通过图形API结果循环更快。您可以获取朋友喜欢的页面的ID,但不幸的是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调用。您必须分别拨打电话才能获取好友的姓名,而另一个电话会显示喜欢的页面详细信息,但您现在可以直接使用该ID。
感谢您的回答。但实际上我不能这样实现!我如何获得用户喜欢的帖子?我找不到任何办法。 http://developers.facebook.com/docs/reference/api/user/中只有“喜欢”,但这些是用户喜欢的页面,而不是帖子。 – maxgrinev 2011-01-27 12:32:40
看到我的编辑。那是你要的吗? – 2011-01-27 22:16:32