2012-02-04 13 views
5

Para publicar actualizaciones en tiempo real de mi aplicación, Facebook necesita realizar una solicitud posterior a mi servidor.Cómo probar las actualizaciones en tiempo real de Facebook

El problema es que mi servidor es la computadora de mi casa y no se puede acceder públicamente desde Internet. Poner en funcionamiento un servidor para implementar esto parece que podría ser un problema ... no se puede conectar el depurador, el violinista, etc. ...

¿Cuál es la mejor manera de probar el Http Endpoint? Pruebas de integración que simulan el servidor de Facebook? Jugando con firewalls/NAT para intentar que Facebook converse con la computadora de mi casa?

¿Alguna idea?

Respuesta

6

Puede usar ngrok - https://ngrok.com/ - servicio gratuito (pague lo que puede) que hace exactamente lo que necesita. El servicio de Localtunnel no funciona y los desarrolladores también recomiendan ngrok.

0

La única respuesta es obtener un servidor web al que se pueda acceder públicamente para actualizaciones en tiempo real para poder volver a llamar.

Hay muchos webhosts gratuitos que permiten la creación de scripts en el servidor. Y también hay muchos webhosts pagados por ahí. Stackoverflow realmente no es el lugar para obtener pistas sobre dónde/cuándo/por qué/cuánto para el alojamiento web.

2

OK! Creo que NAT debería ser la mejor opción y no veo una razón para que no funcione. Deberías probarlo.

2

En realidad fue bastante fácil: me conecté al enrutador de mi casa, establecí el reenvío de puertos en el puerto 80 a la IP local de mi computadora, establecí una excepción en el firewall de Windows para el puerto 80 y luego navegué a mi dirección IP pública en el navegador.

implementar el receptor muestrea en: https://github.com/facebook/real-time/tree/master/samples

4

En el pasado, he utilizado LocalTunnel para hacer esto. Es una buena envoltura alrededor de un túnel SSH y te asigna de manera efectiva un subdominio en localtunnel.com que apunta a un puerto en tu servidor local.

Básicamente, cuando lo ejecute, escupirá un nombre de dominio externo accesible como xyz.localtunnel.com, cuyo puerto 80 apuntará a un puerto que especifique en su casilla local.

Se puede encontrar en: http://progrium.com/localtunnel/

es realmente grande para probar varios feeds de suscripción de PubSubHubbub (como Facebook 's).

0

No, no puedes usar ngrok solo para simular la actualización en tiempo real de facebook, ya que debes realizar una llamada a los servidores de facebook con tu dirección ngrok para validarla (dime si descubres cómo hacerlo: p). Utilizo un servidor openshift para recibir facebook en tiempo real y luego publico datos evry json recibidos de Facebook en mi dirección ngrok. Por lo que el proceso es

  1. configurar un servidor OpenShift para recibir notificaciones de Facebook
  2. Facebook envía notificaciones a su OpenShift
  3. su OpenShift envía datas más (tal como se recibió) a su dirección ngrok

Y si debe recibir notificaciones de Facebook en un sitio web local (como www.website).dev/fb-notificaciones /) luego crea una secuencia de comandos en tu carpeta localhost que recibe publicaciones de openshift (llamémoslo tunelscript.php). el proceso será

  1. configurar un servidor OpenShift para recibir notificaciones de Facebook
  2. Facebook envía notificaciones a su OpenShift
  3. su OpenShift envía datas más (tal como se recibió) a la secuencia de comandos tunel a través de su dirección ngrok (perso. ngrok.com/tunelscript.php)
  4. datas más de transmisiones desde su tunelscript a la página web local (tunelscript.php => www.website.dev/fb-notifications/)

Eso es Tuneling B-)

+1

plain ngrok funciona bien para esto. Debe enviar su URL http://yoursite.ngrok.com/callback correcta en el campo 'callback_url' cuando realice la solicitud HTTP POST a https://graph.facebook.com/subscriptions para configurarla. –

Cuestiones relacionadas