如何使用Facebook API和FQL获取在线好友列表?

3

使用Facebook连接Java脚本客户端API登录Facebook后,我已经获得了我的朋友列表。我想要在特定时间在线的朋友列表。

1个回答

13
你可以使用user 表中的 online_presence 列,该列给出用户当前的Facebook聊天状态。这并不是一个完美的“此用户现在是否在线”的方法,但它确实可以用于这个一般性目的。该列是一个字符串,有四个可能的值:activeidleofflineerror。与此同时,结合查询 friend 表,可以得到您所需的结果(在本例中,“在线”意味着 activeidle)。
SELECT uid FROM user WHERE
  online_presence IN ('active', 'idle')
  AND uid IN (
    SELECT uid2 FROM friend WHERE uid1 = $user_id
  )

更新:

请注意,您需要user_status权限来读取用户的状态,以及user_online_presence和/或friends_online_presence权限来读取online_presence

感谢https://stackoverflow.com/users/613631/laphroaig提出这个问题(Facebook在线好友),也感谢https://stackoverflow.com/users/570958/roozbeh15提供的答案。


我正在尝试,但是我的99%好友列表的online_presence为空。为什么?有什么帮助吗?我在这里发布了一个新问题:https://dev59.com/n1bTa4cB1Zd3GeqP8zkJ - Laphroaig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接