如何使用FQL
:
從Facebook的例子:
var friends = FB.Data.query(
"(select uid2 from friend where uid1 = {0})",
user_id);
var friendsoffriends = FB.Data.query(
"select uid2 from friend where uid1 in (select uid2 from {0})",
friends;
// Now, register a callback
FB.Data.waitOn([friends, friendsoffriends], function() {
// now display all the results
FB.Array.forEach(friendsoffriends.value, function(row) {
console.log(row.uid);
});
});
那麼對於IDS的任何收集編輯你想使用。
上述方法仍然有效(作爲一個合理的普通例子) - 但是,澄清:
您將以前已經使用users.getInfo做你的要求,因爲這可以讓你通過UIDS的列表。不幸的是,這已被棄用。但是,所有這些查詢實際上確實包裝了一個FQL查詢。
如果再「在」語法適用標準FQL你可以做到這一點:
{
myfriends:'select uid2 from friend where uid1=me()',
friendsoffriends:'select uid2 from friend where uid1 in (select uid2 from #myfriends)'
}
但是Facebook的積極阻止你用錯誤這樣做:
"error_code": 604,
"error_msg": "Can't lookup all friends of 123456789. Can only lookup for the logged in user (987654321), or friends of the logged in user with the appropriate permission",
你的另一種選擇是獲取所有ID並執行表單的FQL查詢:
select name from user where uid='123456789' OR uid='987654321' OR uid=...
請看看我的編輯。 – gruszczy
查看我的編輯 - 包括FB.Data.query語法中的更改 – BeRecursive
這聽起來不錯。謝謝。 – gruszczy