He estado escribiendo un juego para Facebook usando Rails y jQuery. Desde que comencé a usar el SDK de Javascript de Facebook, el uso de localhost como dominio de aplicación parecía funcionar bien. Pude probar mi juego tanto localmente como en Heroku.
En el último día, parece que Facebook ha realizado una gran actualización en la interfaz de usuario de su desarrollador. Ahora, si agrego localhost como un dominio de aplicación, me da el siguiente error:
Esto debe derivarse de la URL de Canvas, la URL de Secure Canvas, la URL del sitio, la URL del sitio móvil, la URL de la pestaña de página o la URL de la pestaña de página segura. Verifique y corrija los siguientes dominios: localhost
Mi juego ahora tampoco funciona localmente y obtengo un error cuando el SDK de Javascript inicia sesión en el usuario:
Código de error de la API: 191 Descripción del error de la API: La URL especificada no es propiedad de la aplicación Mensaje de error: Redirect_uri no válida: La configuración de la aplicación no permite la URL especificada.
Esto no sucede cuando implemento mi juego, ya que herokuapp.com se considera un dominio de aplicación válido.
¿Cómo se supone que desarrolle y pruebe mi juego si ya no puedo usar localhost o 127.0.0.1?
fuente
Respuestas:
El protocolo parece seguir cambiando y la respuesta aceptada no me funcionó hoy. En caso de que ayude a otros buscadores, esto es lo que funcionó para mí:
1.) En el centro debajo del primer cuadro de opciones, haga clic en "+ Agregar plataforma" y elija "Sitio web" (o lo que sea apropiado para su aplicación).
2.) En el cuadro que aparece para el sitio web que acaba de agregar: URL del sitio:
http://localhost:3000/
3.) En el cuadro de arriba (Configuración => Básico): Dominio de la aplicación:
localhost
4.) En la parte inferior derecha, haga clic en "Guardar cambios".
5.) Asegúrese de haber copiado y pegado correctamente el ID de la aplicación en su código. (La identificación está en el primer cuadro de esa página si la necesita nuevamente).
fuente
localhost
ya que antes no funcionaba. Gracias por la buena respuesta.fuente
Aún puede probar su aplicación sin implementarla en un servidor remoto como heroku. El truco consiste en actualizar el
etc/hosts
archivo de esta manera:Luego, en la configuración de la aplicación de Facebook, escriba [ http: //] midominio.com, sin "[" y "]"
Funcionó para mí de esta manera
fuente
Para todos los que están inquietos con esto en 2017. La interfaz cambió nuevamente. Quería comentar esto a la respuesta pero no tengo suficiente reputación. La URL del host local de su aplicación ahora debe copiarse en tres lugares. Actualmente (26 de octubre de 2017) la secuencia es:
1.) Haga clic en "Configuración" en el menú de la izquierda.
2.) En el centro debajo del primer cuadro de opciones, haga clic en "+ Agregar plataforma" y seleccione "Sitio web" (o lo que sea apropiado para su aplicación).
3.) En el cuadro que aparece para el sitio web que acaba de agregar, copie la URL de su sitio localhost (fe http: // localhost: 3000 / )
4.) En el cuadro de arriba de "App Domain", copie la misma URL.
5.) En la parte inferior derecha, haga clic en "Guardar cambios".
6.) En el menú de la izquierda en "Productos", haga clic en "Iniciar sesión en Facebook" (o agréguelo a través de "+ Agregar productos" si no está disponible)
7.) Ahora se encuentra en la configuración de inicio de sesión de Facebook. Copie la misma URL en el campo "URI de redireccionamiento de OAuth válidos".
Esto debería funcionar.
fuente
Simplemente agregue localhost como su URL de lienzo o URL de sitio móvil, esto le permitirá tener localhost y herokuapp.com en la configuración de su dominio de aplicación. Luego, una vez que su aplicación esté en producción, simplemente elimínela.
fuente
Esta es una forma incorrecta. Debe crear una aplicación de prueba usando la pestaña Prueba en la configuración de la aplicación. Y luego puede ingresar la URL de su etapa de desarrollo (por ejemplo, localhost) en su aplicación.
fuente
Solución usando Firebase
Para que esto funcione
localhost
, el puerto3000
hice lo siguiente:localhost
a dominios de aplicacioneshttp://localhost:3000/
a la URL del sitio seleccionando "+ Agregar plataforma"Hasta este punto, había seguido todas las respuestas anteriores enviadas aquí, pero nada funcionó.
Entonces...
En el menú de la izquierda, seleccione "Agregar producto".
Agregar "Inicio de sesión de Facebook"
Se le presentará un carrusel de flujo de trabajo, con el dominio predeterminado
http://localhost:3000/
, haga clic en "continuar" hasta el final.Seleccione "Inicio de sesión de Facebook> Configuración" en el menú de productos.
Ingrese su URI de redireccionamiento de Firebase OAuth (que se encuentra cuando habilita el inicio de sesión de Facebook en su consola de firebase https://console.firebase.google.com , ejemplo a continuación)
Hecho.
fuente
Intente usar la URL con el puerto, por ejemplo
Estaba teniendo el mismo problema y encontré esta solución ahora mismo.
fuente
Esto funciona para mí en heroku, el localhost no funcionó (para mí). Espero que ayude
1.) En el centro debajo del primer cuadro de opciones, haga clic en "+ Agregar plataforma" y elija "Sitio web" (o lo que sea apropiado para su aplicación).
2.) En el cuadro que aparece para el sitio web que acaba de agregar: URL del sitio: http://MYAPP.herokuapp.com/ (reemplace MYAPP con el nombre de su aplicación)
3.) En el cuadro de arriba (Configuración => Básico): Dominio de la aplicación: MYAPP.herokuapp.com (reemplace MYAPP con el nombre de su aplicación)
4.) En la parte inferior derecha, haga clic en "Guardar cambios".
fuente
Solo una nota para algunos otros que pueden estar luchando con esto como yo. No he podido hacer que esto funcione con aplicaciones de "prueba". Usando la configuración real de mi aplicación (y simplemente agregando
a la URL de mi lienzo) funcionó como todos los demás sugirieron. Parece que las aplicaciones de prueba no son iguales a las aplicaciones reales.
fuente
Me encontré con un problema con mi aplicación Rails que normalmente ejecuto con http: // localhost: 3000 porque Facebook ahora requiere la redirección de OAuth válida para usar https.
Para usar https localmente, usé [ngrok] [1] que te permite usar https proporcionando un túnel. Para hacer esto:
fuente
para hacer pruebas locales, todo lo que tiene que hacer es apagar la aplicación o poner la aplicación de Facebook en modo de desarrollo. Entonces Facebook te permitirá acceder a la aplicación solo
fuente
Para mí funcionó así:
Configuración del panel de la aplicación de Facebook:
* En la pestaña 'básica':
1) Dejar el dominio de la aplicación vacío.
2) Borrar cualquier plataforma. Significado: no hay sitio web ni plataforma de lienzo. (por lo que no hay campo de URL del sitio para completar)
* En la pestaña 'avanzado':
3) Ingresé en los URI de redireccionamiento de OAuth válidos:
4) con respecto a mi código, insdie my c: /xampp/htdocs/localhost/myappfolder/index.php (este archivo hace el loginURL):
dentro del archivo redirect.php:
y tengo una sesión! ¡finalmente! no hay necesidad de colgarme al final: P
fuente