tutorial the read please open español docs developers api facebook-graph-api facebook-opengraph facebook-social-plugins open-graph-beta

api - the - Recupere la lista de amigos que realizaron una acción personalizada en un objeto personalizado en el gráfico abierto 2



open graph facebook (3)

Me gustaría hacer algo así como facepile usando la API api con las acciones abiertas del gráfico 2: desde un objeto personalizado y un objeto personalizado, dame los amigos (usando mi aplicación de Facebook) que hicieron esta acción en este objeto.

El problema es que al usar FQL, no puedo consultar objetos y acciones personalizados. Al usar la API de gráficos, no encuentro una manera de cruzar la lista de mis amigos con el objeto que me interesa.

Lo mejor que pude hacer fue lo siguiente usando el modo por lotes de la API gráfica:

batch=[ // First we get the list of friends that are using my facebook application { "method": "GET", "relative_url": "fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+(SELECT+uid1+FROM+friend+WHERE+uid2=me())+AND+is_app_user=1+LIMIT+0,49", "name": "friends"}, // Then query each friend to get the list of objects that went through my namespace:testaction { "method": "GET", "relative_url": "{result=friends:$.data.0.uid}/namespace:testaction" }, { "method": "GET", "relative_url": "{result=friends:$.data.1.uid}/namespace:testaction" }, ... { "method": "GET", "relative_url": "{result=friends:$.data.49.uid}/namespace:testaction" } ]

Es bastante ineficiente y no resuelve completamente mi problema ya que:

  • Todavía tengo que filtrar los resultados para obtener solo el que coincida con el objeto que quiero
  • Si hay una gran cantidad de objetos en el espacio de nombres: testaction, tengo que ir a través de paginación, hacer más consultas (intento minimizar el número de consultas)

¿Ves una mejor manera de hacer esto?



Probablemente esto no sea exactamente lo que está buscando, pero dado el hecho de que Facebook (AFAIK) no proporciona (y probablemente nunca proporcionará) la capacidad de hacerlo. Creo que simplemente debe almacenar la información usted mismo y luego consultar los datos de su propia base de datos. Sería como lo que está haciendo en su pregunta, pero puede optimizarlo ya que es su base de datos.

Estoy seguro de que ya pensaste en esto, pero alguien tuvo que decirlo.


Si la respuesta arrojada por derickito no es suficiente, debería explorar la posibilidad de incluir su aplicación en la lista blanca de Facebook (también conocido como partner) para acceder a la API gráfica privada donde podría existir esta funcionalidad, pero no está disponible para aplicaciones "normales". que están trabadas con la API gráfica pública.