簡體   English   中英

Facebook FQL查詢讓所有用戶在線

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM