Consulta FQL de Facebook para que todos los usuarios estén en línea

Mantengo un registro de todos los usuarios de mi aplicación en la base de datos local, MySQL. Tengo toda la información relevante requerida para obtener el estado de presencia en línea del usuario [ UID, access_token y extended permission concedido].

¿Cómo obtengo el estado de presencia en línea de todos los usuarios?

El enfoque que estoy usando en este momento es consultar a cada usuario por separado:

 $facebook->api(array ( 'access_token' => 'x', 'method' => 'fql.query', 'query' => "SELECT uid, name, first_name, last_name, online_presence FROM user WHERE uid = x" )); 

Pero este es el procedimiento de toma de tiempo con 150 usuarios. Ni siquiera estoy hablando de 400+ o 1000+.

ps multiquery no funcionó para mí, ya que para solicitar la presencia del usuario es necesario proporcionar access_token .

Mi solución:

 SELECT name, uid, online_presence FROM user WHERE uid=me() 

Para todos en línea

 SELECT name,uid FROM user WHERE online_presence IN ('active', 'idle') 

Con amigo

 SELECT name,uid FROM user WHERE online_presence IN ('active', 'idle') AND uid IN ( SELECT uid2 FROM friend WHERE uid1 = $user_id ) 

Esto no es realmente una opción y en términos de por qué necesitaría esta información, no es aparente en cuanto a su propósito. Tal vez si pudiera proporcionar más información, una solución diferente estaría disponible.

Otra opción viable es confiar en la API de Chat. Esto le dirá a todos los usuarios que están configurados en estado en línea en Facebook Chat. Esto no sería demasiado confiable ya que esto incluye a los usuarios que solo acceden al Chat de Facebook (software de escritorio / móvil) en comparación con los usuarios del sitio web real.