2009-11-25 66 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

相關問題