這可能讓所有的朋友都喜歡?現在,我通過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