如何使用Graph API按年龄过滤Facebook好友

时间:2012-07-13 06:04:18

标签: facebook facebook-graph-api facebook-fql

我希望按年龄过滤当前用户的朋友。这可能使用FQL吗?如果是这样,查询会是什么样的?

- 编辑 -

我要看的过滤类型的一个例子是:

查找20-30岁之间的所有朋友

2 个答案:

答案 0 :(得分:0)

这会列出你的朋友和他们的生日。您可以简单地修改它以显示粉丝页面:

fql?q=SELECT uid, birthday_date FROM user where uid IN (select uid2 from friend WHERE uid1=me() ) order by birthday_date DESC

答案 1 :(得分:0)

首先以您使用的任何语言计算年份,例如:在JavaScript中(见下文),然后使用substr()从birthday_date字段中获取年份并进行比较。请注意,访问birthday_date字段需要friends_birthday权限。

var year = new Date().getFullYear();
var twentyYearsAgo = year - 20,
  thirtyYearsAgo = year - 30;

var query = "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND substr(birthday_date,6,10) > " + thirtyYearsAgo + " AND substr(birthday_date,6,10) < " + twentyYearsAgo";