Solicitar Permisos Api PHP Facebook


Última Actualización: 31/08/2022 19:03 Nro de Vistas: 7085

Ya escribimos varios artículos acerca del uso del Api SDK PHP de Facebook. Algunos me comentaban que no podían hacer funcionar los códigos. A pesar que poníamos en todos esto: 'req_perms' => 'email,  publish_stram';

Claro está que aunque pongamos eso ahí. Esto no implica a que el user lo va autorizar.

Esto de pedir permisos en Facebook se hace al momento de Logearse(Iniciar Sesión). Entonces para preparar el link de autenticación debemos agregar los parámetros de todos los permisos que deseamos.


A continuación un pequeño ejemplo que podría servinos.

$permisitos = 'email, user_birthday, user_location, publish_stream, manage_pages, offline_access';
//aquí agregamos o eliminamos los permisos.
require_once('facebook.php');
$facebook = new Facebook(array(
  'appId'  => 'XXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  'cookie' => true ,
  'req_perms' => $permisitos
));
$fbuser = $facebook->getUser();
if ($fbuser) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    //error_log($e);
    $fbuser = null;
  }
}
if ($fbuser) {
	$logoutUrl = $facebook->getLogoutUrl();
} else {
 	$loginUrl = $facebook->getLoginUrl(array('scope'=>$permisitos,'display'=>'popup'));
	//Este link es el que pedirá los permisos. Así el usuario aceptará o cancelará los permisos.
}

 Ese $loginurl si quieres puedes ponerlo en un Popup. y el parámetro display => popup hace que desaparezca la publicidad y todo el relleno de Facebook.

Bueno eso es todo respecto a logearse y solicitar permisos. Todos los permisos que puedes pedir están en https://developers.facebook.com/docs/authentication/permissions/.