c# - una - no se puede conectar con el servidor web de desarrollo configurado
¿Cómo puedo usar localhost mientras desarrollo el sitio web gráfico de Facebook? (7)
¿Estás seguro de que el problema está relacionado con el nombre DNS y / o el puerto de tu servidor web? En caso afirmativo, puede utilizar su IIS local en lugar de servidor webdev, configurar un sitio web yourdomain.com y agregar una entrada a los hosts diciendo 127.0.0.1 yourdomain.com
Quiero usar localhost para desarrollar aplicaciones de Facebook usando la API de gráficos. estoy trabajando en asp.net c #
en la API anterior de Facebook, podía escribir el http: // localhost: 4300 / en la url de conexión en la configuración de la aplicación.
ahora dosent trabajo. sigue diciéndome Se produjo un error con el nombre de la aplicación. Por favor, inténtelo de nuevo más tarde.
¿Alguna sugerencia?
** si cargo el sitio web y uso el sitio web coonect url, está funcionando.
Debe crear un túnel ssh DESDE el servidor de desarrollo A su computadora localhost. Cada solicitud al servidor de desarrollo será procesada por su computadora y enviada de regreso.
Si entiendo correctamente lo que intenta hacer y la configuración de la aplicación está en el sitio web de Facebook, Facebook no podrá conectarse a su computadora con ''localhost''. Obtenga la dirección IP de su computadora y escríbala en la página de configuración de la aplicación.
Para encontrar su IP: http://whatismyipaddress.com/
A Facebook no le importa en qué dirección IP se encuentra su servidor, pero verificará que el nombre de dominio de la página de referencia sea el mismo que el que registró en Facebook. El truco para hacer que funcione durante el desarrollo es encontrar la manera de usar su nombre de dominio incluso cuando solo está trabajando en su máquina local para el desarrollo.
Si tiene control total de sus registros DNS, puede agregar un registro de host (por ejemplo, ''test.yourdomain.com'') que apunte a la dirección IP real de su máquina de desarrollo (si es una IP estática), o simplemente a 127.0. 0.1
Si no tiene acceso a su DNS, la forma más fácil de solucionarlo durante el desarrollo es simplemente agregar una entrada al archivo de hosts de su computadora (''/ etc / hosts'' en OSX y la mayoría de las máquinas Unix) que señale el dominio que registrado en facebook en su máquina host local. para que agregue una línea como esta:
127.0.0.0 test.yourdomain.com
hasta el final de tu archivo de hosts. Eso significa que si ingresa test.yourdomain.com en su navegador web, se resolverá en su máquina local.
Ahora - en la sección "sitio web" de la configuración de su aplicación en Facebook, asegúrese de haber agregado su nombre de dominio a la sección "dominio del sitio" de la configuración; esto significa que Facebook aceptará solicitudes provenientes de cualquier subdominio de su dominio - en otras palabras, aceptará solicitudes de "www.yourdomain.com" (su servidor de producción) y "test.yourdomain.com" (su máquina de desarrollo local).
Ahora debería poder desarrollar en su equipo local utilizando la url "test.yourdomain.com" en su navegador en lugar de ''localhost'' y todo debería funcionar.
OH - una cosa más - el redirect uri de Facebook también necesitará tener un número de puerto si su servidor de desarrollo no se está ejecutando en el puerto 80, pero incluye este número de puerto cuando coincida con la URL del dominio (francamente, considero esto un error en el API de Facebook). Esto significa que si su servidor de desarrollo se está ejecutando (por ejemplo) en el puerto 8080, deberá agregar '': 8080'' al final del nombre de host en el URI de redireccionamiento, pero si su servidor de producciones se está ejecutando en el puerto 80, entonces no debe poner ": 80" en el redireccionamiento uri porque de lo contrario solo funcionará cuando las personas hayan incluido explícitamente el número de puerto en la URL que utilizaron para mirar su página (poco probable en un servidor de producción). Lo que esto significa en la práctica es que solo tiene que tener un condicional para que al generar la URL de autenticación de Facebook solo incluya el número de puerto si no es el puerto 80.
Agregue "localhost" a la configuración "App Domain" de su aplicación en Facebook. Además, si está haciendo algo así como redirigir "MyApp.test" a 127.0.0.1 en su servidor local, también puede agregar "MyApp.test" al "App Domain" y funcionará.
Lo intenté después de buscar una solución a este problema. Es una solución muy simple.
Compruebe la siguiente configuración básica en la configuración de Facebook de su aplicación:
- Espacio de nombres ha sido establecido
- App Domain incluye "localhost"
- Canvas URL y Secure Canvas URL tienen un dominio de "localhost" en su URL
Si obtiene un error de "nombre de la aplicación" cuando guarda la configuración de la aplicación, ¿está seguro de que el nombre de la aplicación es válido y aún no se ha utilizado? Usamos localhost (con ASP.Net, IISExpress y números de puerto muy altos) todo el tiempo con cuatro o cinco aplicaciones diferentes con múltiples usuarios en diferentes máquinas y nunca necesitamos hacer ninguno de los pasos adicionales que algunas personas han descrito en sus respuestas.
EDITAR: después de volver a leer otras respuestas, creo que algunos desarrolladores están desarrollando en la misma aplicación de Facebook que utilizan para la producción, por lo que necesitan asignar su máquina al dominio de producción. No hacemos eso, tenemos dos "aplicaciones". Una es para probar con la configuración del localhost y otra para la producción. Contamos con un componente que determina en tiempo de ejecución en qué entorno se encuentra y construye todas las URL necesarias, como los redireccionamientos de OAuth con ID de aplicación y Secretos de aplicación, de modo que siempre estamos ejecutando el mismo código, solo diferentes configuraciones implementadas en diferentes servidores.
No puede agregar dominios de nivel superior en la configuración de Facebook FYI