[英]Facebook FQL query to get all users online
我在本地MySQL數據庫中記錄了我的應用程序的所有用戶。 我擁有獲取用戶在線狀態[ UID, access_token
和授予extended permission
]所需的所有相關信息。
如何獲得所有用戶的在線狀態?
我目前使用的方法是分別查詢每個用戶:
$facebook->api(array
(
'access_token' => 'x',
'method' => 'fql.query',
'query' => "SELECT uid, name, first_name, last_name, online_presence FROM user WHERE uid = x"
));
但這是150個用戶的時間。 我甚至不是在談論400多歲或1000多歲。
ps multiquery對我不起作用,因為要求用戶存在需要提供access_token
。
我的解決方案
SELECT name, uid, online_presence FROM user WHERE uid=me()
對於所有在線
SELECT name,uid FROM user WHERE
online_presence IN ('active', 'idle')
和朋友
SELECT name,uid FROM user WHERE
online_presence IN ('active', 'idle')
AND uid IN (
SELECT uid2 FROM friend WHERE uid1 = $user_id
)
這不是一個真正的選擇,就你為何需要這些數據而言,它的目的並不明顯。 也許如果您能提供更多信息,可以使用不同的解決方案。
另一個可行的選擇是依賴Chat API。 這將告訴您在Facebook Chat中設置為在線狀態的所有用戶。 這不太可靠,因為這包括用戶僅訪問Facebook聊天(桌面/移動軟件)而不是實際的網站用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.