Php 获取Facebook好友列表,同时排除一些好友

Php 获取Facebook好友列表,同时排除一些好友,php,mysql,facebook,facebook-fql,facebook-php-sdk,Php,Mysql,Facebook,Facebook Fql,Facebook Php Sdk,我正在使用PHPSDK进行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')); 这很有效,但现在我想把一些朋友从名单中排除。

我正在使用PHPSDK进行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'));
这很有效,但现在我想把一些朋友从名单中排除。我尝试了我认为有效的方法,但它似乎不起作用(它返回一个空列表)

作为我尝试做的一个例子:

$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'));
有什么我遗漏的吗?谢谢。

FQL不支持“不在”功能。引发异常:(#601)解析器错误:在位置92处出现意外的“NOT”

您可以在中使用进行简单的选择

$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过滤掉ID。据我所知,这是唯一的方法


我找到了一个相关的post:link。

这可以使用下一个FQL查询:

SELECT uid, name FROM user WHERE uid IN (
  SELECT uid2 FROM friend WHERE uid1 = me() 
) AND NOT ( uid IN ('13892588847', '10004291510061', '1000753466073'))
ORDER BY name ASC

请在上试用。

我认为不在“不是FQL支持的功能。啊,好吧,这不是我希望的答案,但我怀疑答案可能是。感谢您为我找到此功能!