2011-04-28 4 views

Respuesta

2

usted tiene que utilizar la API en tiempo real de Facebook: http://developers.facebook.com/docs/api/realtime/

para hacer lo que pide, usted debe suscribirse a page objetos y su conexión feed.

Para añadir una suscripción usted tiene que enviar una solicitud POST a:

https://graph.facebook.com/<app-id>/subscriptions?access_token=... 

Y para eso se necesita un token de acceso que se puede obtener en:

https://graph.facebook.com/oauth/access_token?client_id=<app-id>&client_secret=<app-secret>&grant_type=client_credentials 

Los campos que tienen que estar en los datos POST son:

  • object - El tipo de objeto a controlar, por ejemplo "Usuario" o "permisos". Usted supervisará todos los objetos de ese tipo; por ejemplo, todos los usuarios de su aplicación.
  • fields - Una lista separada por comas. Esta es una lista de propiedades o conexiones en el objeto especificado. Por ejemplo, para supervisar los cambios de nombre de usuario, foto, amigos, y News Feed, se especificaría “nombre, foto, amigos, alimentar”
  • callback_url - Un URL de respuesta a la que Facebook va a publicar actualizaciones de suscripción.

y puede especificar

  • verify_token - Un token opaca de abonado, siempre que se hizo eco de nuevo en la solicitud de verificación para ayudar al suscriptor en la identificación de solicitud de suscripción, que se está verificando. Si esto no está incluido, no se incluirá ningún token en la solicitud de verificación. Esto es de la especificación PubSubHubbub.

Una vez que su URL de respuesta ha sido verificada, recibirá actualizaciones cuando cambian los datos en la alimentación de la página en su URL de devolución de llamada como objetos JSON, aquí es un ejemplo de un usuario:

{ 
"object": "user", 
"entry": 
[ 
    { 
     "uid": 1335845740, 
     "changed_fields": 
     [ 
      "name", 
      "picture" 
     ], 
     "time": 232323 
    }, 
    { 
     "uid": 1234, 
     "changed_fields": 
     [ 
      "friends" 
     ], 
     "time": 232325 
    } 
] 
} 

También puede hacer GET y DELETE en la misma URL para obtener la lista de sus suscripciones y para eliminar suscripciones.

pero todos los detalles están en la facebook doc

+3

Una pequeña diferencia, sin embargo, es que a diferencia de Twitter Streaming API, actualizaciones en tiempo real de Facebook no da el cambio real como alimento. Simplemente indica que hay una actualización en dicho objeto. Luego, uno tiene que extraer explícitamente el objeto y descubrir el cambio. – Balakrishnan

+0

¿hay algún código de muestra disponible en Ruby? Busqué un poco, pero parece que no tantos están usando API en tiempo real ... es un poco raro. – Mesut

+0

En teoría, esto funciona ahora para obtener actualizaciones de pared en una página, pero no puedo hacer que funcione. – Leopd