Busqué por un tiempo y también pensé que esto no era posible usando Graph API.
Sin embargo, publiqué una pregunta similar, ¿ Reemplazo de la antigua llamada de GetAppUsers para ver a los amigos de un usuario que usan mi aplicación? , para la API específica que estaba usando y me dieron una gran respuesta general.
https://graph.facebook.com/me/friends?fields=installed
o más generalmente
https://graph.facebook.com/{user id}/friends?fields=installed
Esto devuelve todos los amigos, con el campo adicional "instalado = verdadero" para aquellos amigos que usan la aplicación.
Aquí está funcionando en Graph API Explorer :
/me/friends?fields=id,name,installed
, que conserva el orden de los campos y la información estándar que se devuelve sin?fields=
estar definida (verdadero en 2012/12/05).installed
no es cierto). Necesitamos verificar manualmente si elinstalled
campo existe para cada usuario.Esto se puede hacer con FQL.
QED!
fuente
me()
lugar del?Sí, la API Graph está terriblemente documentada. No veo ninguna documentación para una "solicitud" de tipo , pero lo hacen referencia a información de una aplicación en la documentación:
https://graph.facebook.com/2439131959
Entonces, ¿quizás pueda obtener los miembros de la aplicación usando la sintaxis de grupo?
https://graph.facebook.com/2439131959/members
Necesitará una sesión autenticada para probarlo. De lo contrario, parece que Facebook nos está presionando para que usemos FQL para enviar consultas directamente:
http://developers.facebook.com/docs/reference/fql/application
Por lo que puede pasar una consulta FQL para obtener información sobre su aplicación.
fuente
API REST antigua:
Nueva API Graph:
fuente
He realizado muchas investigaciones sobre este tema. Por lo que puedo decir, no hay forma de hacerlo
Friends.getAppUsers
usando Graph API. Los últimos SDK proporcionados por Facebook usan la antigua API REST para hacer amigos que usen la aplicación.fuente
Usando restFB , hice lo siguiente (gracias Igy / Alex por la orientación). Tenga en cuenta que Facebook devuelve una serie de ID de amigos con "instalado" = verdadero si el usuario está instalado (como se puede ver aquí ).
Primero amplíe la clase User, agregando un
installed
campo:A continuación, usando DefaultFacebookClient:
fuente
La solución es realizar el filtrado usted mismo. Presumiblemente, tiene todos los uid de los usuarios que se han registrado para su aplicación en su propia base de datos. Así que primero obtenga todos los uids de los amigos de los usuarios y seleccione los usuarios de su base de datos que tengan uids coincidentes.
El nuevo programa Facebook Graph API parece muy mal ejecutado y no está bien pensado. Parece que se apresuraron a publicarlo para Facebook f8 antes de que estuviera maduro, y faltan muchas funciones que estaban disponibles antes.
fuente
Aún puede llamar a las API REST antiguas en la nueva API Graph. Eso es perfectamente válido.
Una forma alternativa es utilizar FQL para conseguir amigos del usuario de la aplicación.
No estoy seguro de si hay una manera de hacer esto usando solo Graph API.
fuente