Atención TUTORIAL PARA UNA VERSION DEPRECATED


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

Atención TUTORIAL PARA UNA VERSION DEPRECATED

Ir a: Tutorial Actualizado con el SDK V5 GRAPH 1.8

PHP SDK Facebook

Mis artículos acerca de PHP SDK de Facebook debí enpezarlos con este Artículo. Pero en fin vamos a comenzar a hablar sobre este interesante SDK que para muchos es un dolor de cabeza.

Facebook PHP SDK

Voy a traducir y explicar un poco acerca de la documentación Oficial.

El SDK PHP ofrece un conjunto completo de funcionalidades de servidor para el acceso del lado del servidor de llamadas a la API de Facebook. Estos incluyen todas las funciones de la API gráfica , FQL , y la API REST en desuso . 


A nosotros nos interesa mas los dos primeros. Esto quiere decir que esta librería hace todo lo que facebook nos permite hacer. Se que muchos están acostumbrados a hacer en javascript. Pero recuerden que si lo trabajas del lado de servidor. Tus web serán mucho mas veloces. El SDK de PHP puede trabajar en conjunto con el SDK de JavaScript para ofrecer gestión de sesión integrada en el cliente y servidor de los lados de una aplicación.

Descargar la librería PHP SDK Facebook

Instalación e inicialización

Para instalar el SDK PHP, extraer los archivos descargados y copiar los archivos de la src / directorio a un directorio del servidor donde se aloja su aplicación, por ejemplo, php-sdk . Luego, basta con incluir php-sdk/facebook.php dondequiera que usted desee utilizar el SDK. Para esto Ud. ya debe tener Su KeyID y su KeySecret de su APP en Facebook.

Esto requiere la comprobación de su cuenta a traves de su Número de Celular. Ellos te enviarán una clave de Confirmación. Estoy seguro que deberas esperar días, hasta meses pero siempre reenvía el pedido cada vez que puedas.

En tu Código PHP inicializas Así.

<? php
  require_once("facebook.php");

  $config = array();
  $config[‘appId’] = 'YOUR_APP_ID';
  $config[‘secret’] = 'YOUR_APP_SECRET';
  $config[‘fileUpload’] = false; // optional

  $facebook = new Facebook($config);

?>

 Otro Modo de inicializar es:

require_once('facebook.php');//Mi ruta de la Libreria
$facebook = new Facebook(array(
'appId' =>"TUAPPID",
'secret' => "TUKEYSECRET",
//Aquí vas aumentando otros parámetros que quieras ejm. Los dos de arriba son obligatorios
'cookie' => true ,
'req_perms' => 'publish_stream',
));

 Una vez inicializado no necesitas hacer esto de nuevo en otro lugar. Ahora puedes utilizar tus llamadas a esta api. Por ejemplo.

En algún lugar mas abajo de mi código hago esto:

 

 Esto imprimira mis datos de Facebook.

A Continuación todo un proceso que puede ser obviado(no recomendable). Este proceso comprueba e informa el error que facebook de te envía.

$user = $facebook->getUser();
//Comprueba el usuario.
if ($user) {
//Si Lo encuentra
  try {
//Si no hay nigún tipo de Error
    $user_profile = $facebook->api('/me');
//extrae los datos del usuario a un Array
  } catch (FacebookApiException $e) {
//Comprueba Excepciones y si hay error
    error_log($e);
//envía los datos al archivo de errores configurado en PHP.
    $user = null;
//Limpia o anula el usuario
  }
}

 Si no necesitas registrar o va a realizar cosas mínimas como Autenticación simplemente puedes Utilizar esto.

Autenticación con Facebook

$user = $facebook->getUser();
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
//Enlace para cerrar la sesión de facebook
} else {
  $loginUrl = $facebook->getLoginUrl(
      array('scope'=>'email,user_birthday,user_location,publish_stream',
      'display'=>'popup')
  );
//enlace para inicializar la sesión con Facebook
}
//entonces ya podrás poner tu link para logearse en un Popup o ahí mismo

 Si te fijas bien. en el array scope Hay algunas opciones. Son los permisos que requieres para que desde facebook puedan autorizar a tu app. Todos los permisos los encuentras aquí: Permisos Facebook

Si es la primera vez que estas creando un web. Sería bueno que $facebook->getUser(); lo guardes en una sesión. Así podrás guardar a tu usuario de Facebook en un Sesión y no necesitarás hacer la llamada hasta Facebook cada vez que requieres datos del Usuario.