Desde hace ya un par de años estoy haciendo aplicaciones para Facebook y algo que uso casi siempre es el pedir permisos a los usuarios para poder acceder a sus datos, publicar en su muro, en el muro de sus amigos, saber su fecha de nacimiento, email, etc.

Este tutorial no explica como crear una aplicación, sino como pedir permisos al usuario.

Primero que todo a partir del 01 de octubre de 2011 Facebook no va a permitir tener una aplicación que corra en un dominio que no tengo un certificado SSL (https).

Bueno, yendo al grano. Cómo lo conseguimos?

Es muy simple, primero hay que descargar la clase Facebook (facebook.php), está en la carpeta “src”

En mi caso, normalmente ninguna página de la aplicación puede correr si no has aceptado los permisos. Entonces creo un PHP que lo llamo “header.php”

require_once("facebook.php");
$canvas_base_url = "http://apps.facebook.com/URL_DE_LA_APLICACION/";
$fanpage_base_url = "http://www.facebook.com/NOMBRE_DEL_FAN_PAGE";
$tab_base_url = "http://www.facebook.com/NOMBRE_DEL_FAN_PAGE?sk=app_IDDELAAPLICACION";
$facebook = new Facebook(array(
  'appId'  => 'IDDELAAPLICACION',
  'secret' => 'CLAVE_SECRETA',
  'cookie' => true,
));
$session = $facebook->getSession();
 
$me = null;
 
if($session){
	try{
		$me = $facebook->api('/me');
	} catch(FacebookApiException $e) {
 
	}
}
 
if(!$me){
	$loginUrl = $facebook->getLoginUrl(array('canvas' => 1,
		'fbconnect' => 0,
		'req_perms' => 'email, user_birthday',
		'next' => $tab_base_url,
		'cancel' => $fanpage_base_url));
	echo("<script type="text/javascript">top.location.href='" . $loginUrl . "'</script>");
	exit();
}

Cuando el usuario ya aceptó los permisos de tu aplicación, entonces la variable “$me” tendrá los datos del usuario.

//PROBAR LA INFORMACIÓN
echo "&lt;pre>";
print_r($me);
echo "&lt;/pre>";

Facebook te ayuda a ver todos los permisos que puedes solicitar al usuario.

Aquí les dejo el archivo facebook.php que utilizo.

Be Sociable, Share!