我正在使用 PHP SDK 进行 FQL 调用来提取用户好友的列表。它看起来像这样:
$all_friends = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name ASC'));
这非常有效,但现在我还想从列表中排除一些 friend 。我已经尝试了我认为有效的方法,但它似乎不起作用(它返回一个空列表)。
作为我正在尝试做的事情的示例:
$all_friends = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND uid NOT IN (12345,54218,68151) ORDER BY name ASC'));
我有什么遗漏的吗?谢谢。
最佳答案
“NOT IN”不是 FQL 支持的功能。 Graph API Explorer抛出异常:(#601) 解析器错误:位置 92 出现意外的“NOT”。
您可以使用 IN 进行简单的选择
$all_friends = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name ASC'));
并使用 PHP 来过滤掉 ids。据我所知这是唯一的方法。
我找到了相关帖子:链接here .
关于php - 获取 Facebook 好友列表,同时排除一些好友,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148651/