我用Facebook 3.0 sdk创建了一个Android应用程序。我正在尝试使用FQL获取所有在线的朋友。我正在使用以下FQL查询,并在App>应用详细信息>应用中心列出的平台>配置应用中心权限 -
下添加了以下权限权限:user_status, user_online_presence, friends_online_presence
FQL查询:
SELECT name, online_presence FROM user where uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
但是,online_presence始终为所有朋友显示“离线”,即使其中很少有人在线。
输出:
{
"data": [
{
"name": "My Name",
"online_presence": "active"
}
]
}
如果我遗失了某些东西,请有人帮助我。
答案 0 :(得分:0)
如果您查询用户表,那么您将获得所有朋友的结果。如果你有很多朋友,那么他们中的大多数可能会离线,看起来所有用户都被报告为离线。
如果您调整查询以仅显示不离线的用户,则应该希望获得一些结果:
SELECT name, online_presence FROM user
where uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND online_presence != "offline"
请记住,用户可以控制朋友的应用是否可以在apps settings page的“其他人使用”部分中将其视为在线。因此,您的一些朋友可能会在Facebook网站界面显示为在线,但在您的应用查询API时不会在线。