我想不出办法只用个人资料照片来交朋友。我可以使用多查询来检查每个朋友是否有照片,但这会导致流量很大。
有没有其他选择?
我想不出办法只用个人资料照片来交朋友。我可以使用多查询来检查每个朋友是否有照片,但这会导致流量很大。
有没有其他选择?
这可以通过简单的 FQL 来实现。
SELECT uid, name, pic_small FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND pic_small != 'https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v1/yP/r/FdhqUFlRalU.jpg'
seb-query 会得到你所有的朋友uids
。另一个查询将匹配 uids 与配置文件数据检查是否pic_small
指的是 Facebook 用作占位符的内容。
您可以在这里快速测试它。
尽管 Gajus 建议的查询现在可能有效,但一旦 Facebook 更改其 CDN 上默认图片的 URL,它就会中断。(可能发生,可能不会发生。)
所以我建议这个改进:
该profile_pic
表有一个名为 的字段is_silhouette
,它是一个布尔值,用于指示用户是否有自己的个人资料图片集。
因此,要仅获取具有个人资料图片集的朋友,您可以使用
SELECT uid, name FROM user WHERE uid IN
(SELECT id FROM profile_pic WHERE
id IN (SELECT uid1 FROM friend WHERE uid2 = me() )
AND NOT is_silhouette
)