2009-11-25 111 views

回答

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 
) 

UPDATE:

请注意,您所需要的user_status许可阅读用户的状态和user_online_presence和/或friends_online_presence许可online_presence

感谢https://stackoverflow.com/users/613631/laphroaigFacebook online friend)和https://stackoverflow.com/users/570958/roozbeh15的回答。

+0

我在尝试,但99%的朋友列表中有online_presence为空。为什么?任何帮助?我在这里提出了一个新的问题:http://stackoverflow.com/questions/5666153/facebook-online-friend – Laphroaig

相关问题