获取使用FQL使用特定应用程序的facebook用户列表

时间:2012-01-31 14:25:08

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

我正在尝试使用FQL

获取以下案例

如果很少有用户授权“应用程序A”,那么可以知道当前有多少用户正在使用“应用程序A”(用户不是彼此的朋友)

到目前为止,我尝试使用FQL,但是以下查询仅提供了那些用户的信息 彼此的朋友并使用相同的应用程序,但是其他不是朋友的用户呢?

SELECT uid, name, pic_square 
FROM user  
WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

4 个答案:

答案 0 :(得分:15)

您无法从API获取应用程序用户的列表。如果您需要这个,您应该维护自己的用户数据库并引用它。

您还可以通过请求/USER_ID/permissions?fields=installed使用您的应用程序访问令牌来检查任何特定用户是否是您的应用程序的用户。

您还可以通过在好友关联上请求相同的字段来检查用户的朋友是否是您的应用程序的用户(例如,/USER_ID/friends?fields=installed)。在这种情况下,USER_ID必须是您的应用程序的用户,否则您将无法访问他们的朋友列表。

答案 1 :(得分:8)

请求朋友返回此数据时,用户表上的

is_app_user。

SELECT uid,is_app_user FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me())

...或

SELECT uid,is_app_user FROM user WHERE is_app_user AND uid IN(SELECT uid2 FROM friend WHERE uid1 = me())

哪个更紧凑 - 只在应用程序中返回这些用户。

答案 2 :(得分:3)

您无法获得已安装应用程序的用户总数,但您可以通过简单查询获得每日,每周和每月用户:

SELECT daily_active_users, weekly_active_users, monthly_active_users
  FROM application WHERE app_id = APPLICATION_ID

注意:这适用于任何应用程序(不仅仅是连接到的应用程序用户)

答案 3 :(得分:-1)

SELECT uid FROM user WHERE uid IN ( SELECT uid2 FROM friend 
WHERE uid1 = '549483876' ) AND is_app_user = 1