Pregunta

Estoy creando una aplicación de Facebook con PHP y frente a dos problemas principales ..

  1. Cuando haga clic en Permitir en el permiso, la aplicación me lleva a mi propio dominio (donde se almacena la aplicación) en vez de cargarlo en un marco flotante.

  2. A veces, cuando hago clic en "No permitir", todavía me deja entrar y muestra un error de PHP, mientras que a veces (la mayoría de las veces), no me dejó entrar.

¿Cuál podría ser el problema? Cualquier forma de que pueda redirigir mediante programación a la página de permisos? Gracias ..

if(empty ($this->session))
    {
        try
        {
            $login_url = $this->facebook->getLoginUrl();
            header("Location: ".$login_url);
        }
        catch(Exception $e)
        {
            header("Location: http://www.facebook.com");
        }
    }
    else
    {
        try
        {
            $this->uid = $this->facebook->getUser();
        }
        catch(Exception $e)
        {
            header("Location: http://www.facebook.com");
        }
    }

Tenga en cuenta las redirecciones que hice fueron a tratar de resolver el problema. Pero sin excepción.

¿Fue útil?

Solución 2

He utilizado este script sencillo de aplicar redirección si la página no está dentro de marco flotante ...

if(parent == window)
                {
                    window.location = "http://apps.facebook.com/appname/";
                }

Esto podría no ser una solución legal, pero resolvió la situación para mí. Nadie si conoce la forma legal, por favor enviar. Gracias.

Otros consejos

Cuando se desea obtener la URL de acceso puede pasar diferentes parametros sobre la base de lo que necesita. en su caso, para volver a la página de facebook url puede utilizar el parámetro next.

Este es el código modificado:

$login_url = $this->facebook->getLoginUrl(
            array(
                'canvas'    => 1,
                'fbconnect' => 0,
                'next' => YOUR_CANVAS_PAGE_URL
            ) 
        );
if(empty ($this->session))
{
    echo "<script type='text/javascript'>top.location.href='$loginUrl';</script>";
    exit;
}
else
{
    try
    {
        $this->uid = $this->facebook->getUser();
    }
    catch(Exception $e)
    {
        echo "<script type='text/javascript'>top.location.href='$loginUrl';</script>";
        exit;
    }
}

Avísame si resuelve su problema:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top