2011-03-07 71 views
2

我试图编写一个查询,它将返回所有朋友的uid。我的查询到目前为止是:FQL不返回所有朋友

"SELECT name FROM user WHERE uid IN (SELECT uid FROM friendlist_member WHERE flid in (SELECT flid FROM friendlist WHERE owner = me()))" 

它返回的我实际的朋友(约30男性和女性各)的五分之一。我试着玩极限游戏,但没有做任何事情(我很幸运地获得了我所有的墙上帖子,但不幸的是它在这里不起作用)。我也尝试过把它分解开来,所以我先把所有的朋友列出来,然后把所有的用户名,然后是所有的名字。但是当我这样做的时候,我真的变少了,而且我也有重复! :S

那么有没有人有这方面的经验或任何建议?我真的希望我能回到我所有的朋友。但我也想知道,也许它与我的朋友的隐私设置有关。我注意到这是一个检索照片的问题,但他们似乎并不是同一个朋友...

再次看着结果,我开始认为它没有返回的朋友是那些在默认好友列表“其他好友”中设置。所有这些退回的朋友都在我制作的定制朋友列表中。

我使用FacebookSDK C#,它是在Windows窗体

回答

4

我想你可能会查询错误表。 您正在查询的表格将返回属于特定列表成员的朋友。 我认为你需要做的是查询'朋友'表。

参考约在Facebook上开发站点此表的页面: http://developers.facebook.com/docs/reference/fql/friend/

你应该子查询更改为类似:

SELECT uid1 FROM friend WHERE uid2=me() 
+0

http://developers.facebook.com/docs/ reference/fql/friend /说你使用该表来检查两个人是否是朋友。我怎么能找到我的朋友那样在facebook上搜索每一个人? – Jeff 2011-03-07 05:05:04

+0

感谢您的答复btw。使用错误的表格很可能会出现问题 – Jeff 2011-03-07 05:05:40

+0

使用示例查询对帖子进行了编辑。我相信Facebook已经照顾了索引和优化(或者他们:)) – 2011-03-07 05:08:38