问题
I have got my friends list after getting logging in on facebook using Facebook connect Java script client API. I want list of my friends that are online at given time.
回答1:
You can use the online_presence
column of the user
table, which gives the user's current Facebook Chat status. This isn't a foolproof "is this user online right now" but it does serve the general purpose as such. This column is a string which has one of four possible values: active
, idle
, offline
, or error
. Querying the friend
table in conjunction with this can yield the result you requested (in this case I consider "online" to mean active
or idle
):
SELECT uid FROM user WHERE
online_presence IN ('active', 'idle')
AND uid IN (
SELECT uid2 FROM friend WHERE uid1 = $user_id
)
UPDATE:
Note that you need the user_status
permission to read the user's status and user_online_presence
and/or friends_online_presence
permissions for the online_presence
.
Thanks to https://stackoverflow.com/users/613631/laphroaig for bringing this up (Facebook online friend), and to https://stackoverflow.com/users/570958/roozbeh15 for his answer.
来源:https://stackoverflow.com/questions/1795934/how-to-get-list-of-online-friends-using-fql-with-facebook-api