Repasando la API de Facebook y estoy un poco confundido sobre el enfoque correcto. Quiero que los usuarios omitan el registro o que se registren automáticamente si inician sesión con Facebook. Entonces, si inician sesión en Facebook, recolectaré su identificación, correo electrónico y crearé un registro en mi tabla de usuarios.Usando Facebook PHP-SDK 3.x para registrar/iniciar sesión con Codeigniter 2.1.0
Si ya existe una identificación en la tabla de usuarios, omiten el registro automático y van directamente a la página de miembros. Este es mi código hasta ahora (tomado del ejemplo de PHP SDK de Facebook). Cuando ejecuto el script de suscripción la página aparece como en blanco, no me redireccionan.
EDITAR: parece estar fallando justo después de requerir, si uso el siguiente código 'prueba' nunca se imprime.
EDIT: Estoy usando Codeigniter y este script es parte de un controlador, ¿eso causaría un problema con el requerimiento?
require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';
echo "test";
-
public function signup()
{
require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ($user)
{
try
{
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e)
{
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user)
{
$logoutUrl = $facebook->getLogoutUrl();
}
else
{
$loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));
redirect($loginUrl);
}
print_r($user_profile);
$this->load->model("user_model");
$privileges = 1;
$loginLocation = ip2long($_SERVER['REMOTE_ADDR']);
$active = 1;
$this->user_model->add_user($user_profile->id, $user_profile->name, $user_profile->email, $loginLocation, $privileges, $active);
}
¿Ha probado el requerimiento con una ruta del sistema de archivos en lugar de una ruta de URL? – BenOfTheNorth