DesarrolloLibre

Desarrollo Web, Android y mucho más

30-06-2016

En esta entrada veremos cómo obtener nuestro perfil con la Graph API de Facebook; ya hemos trabajado anteriormente con la Graph API de Facebook empleando la SDK que proveen para PHP publicando un post en nuestro muro empleando las tecnologías señaladas anteriormente.

Cómo se ha mencionó anteriormente, para realizar cualquier operación con la API Graph de Facebook debemos comenzar en crear una aplicación en la Graph API de Facebook los cuales son unos sencillos pasos que hay que seguir para obtener unos tokens de autenticación, dar algunos parámetros de seguridad a nuestra cuenta que los puedes seguir en el enlace anterior; con estos tokens de acceso los estableceremos en nuestra aplicación.

Saltaremos las indicaciones para instalar la SDK de Facebook en nuestro proyecto que ya se ha tratado antes (revisa en enlace anterior en caso de alguna duda); dejando de lado la SDK de Facebook: necesitamos dos archivos PHP:

  1. La ventana de autenticación: index.php.
  2. La ventada para la consulta de la información del perfil: perfil.php.

En general, para cualquier operación con la Graph API de Facebook es necesario emplear al menos dos script PHP, uno que nos ayuda con la autenticarsión mediante un link y previa validación y solicitud de permisos al usuario realizada por Facebook en caso de que la aplicación PHP sea la primera vez que interactúe con una cuenta y otro script PHP el cual realiza las tareas que deseamos; en nuestro caso, traernos la información del perfil.

El código de nuestro index.php es el que realiza la autenticación y el contenido del mismo no ha variado demasiado:

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook\Facebook(array(
  'app_id'  => $config['App_ID'],
  'app_secret' => $config['App_Secret'],
  'default_graph_version' => 'v2.4'
));

$helper = $facebook->getRedirectLoginHelper();
$permissions = ['email', 'user_likes','publish_actions','user_managed_groups']; // optional

$loginUrl = $helper->getLoginUrl('http://localhost/test/fbtest/perfil.php', $permissions);
echo 'Log in with Facebook!';

Como vemos, tras previa solicitud al usuario, el usuario es redirigido a perfil.php el cual es el que trae la información del usuario.

Finalmente, este es el código completo el cual puedes descargar mediante los links ubicados al inicio y final de esta entrada; el codigo que nos interesa es el siguiente:


try {
    $helper = $fb->getRedirectLoginHelper();
    $accessToken = $helper->getAccessToken();

    // Returns a `Facebook\FacebookResponse` object
    $response = $fb->get('/me?fields=id,name,work,website,email,first_name,birthday', $accessToken);
} catch (Facebook\Exceptions\FacebookResponseException $e) {
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
    exit;
}

$user = $response->getGraphUser();

echo 'Name: ' . $user['name'];

Del cual nos interesa dos funciones:

$fb->get('/me?fields=id,name,work,website,email,first_name,birthday', $accessToken);

En general para obtener cualquier datos de Facebook debemos emplear la función anterior que realiza una solicitud GET al recurso /me que forma parte de la API Graph de Facebook que permite obtener información del usuario autenticado mediante una serie de parámetros; entre los principales tenemos:

  • id: Identificador numérico de la cuenta de la persona.
  • name: Nombre completo de la persona.
  • birthday: Fecha de nacimiento de la persona en formato MM/DD/YYYY.
  • education: Educación de la persona.
  • gender: Sexo de la persona

Entre otros campos que podemos obtener; puedes ver la documentación completa en API Graph Version - User.

Y por último la función con la cual obtenemos la información del perfil del usuario autenticado según los parámetros solicitados anteriormente:

$user = $response->getGraphUser();
Ayúdanos a seguir creciendo

Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

TCPDF: clase Oper Source para generar PDF con PHP

TCPDF: clase Oper Source para generar PDF con PHP

API REST en CodeIgniter

API REST en CodeIgniter

Algunos artículos que te pueden interesar

¿Cómo obtener nuestro perfil con la Graph API de Facebook (PHP)?

¿Cómo obtener nuestro perfil con la Graph API de Facebook (PHP)?

Se explica cómo obtener el perfil del usuario autenticado mediante la Graph API de Facebook empleando la SDK de PHP.

Andrés Cruz 30-06-2016

Tipos de variables en PHP

Tipos de variables en PHP

En este artículo veremos como crear una variable en PHP, particularidades de las mismas y tipos de datos en PHP.

Andrés Cruz 27-07-2013

La API de archivos en JavaScript - datos de los archivos

La API de archivos en JavaScript - datos de los archivos

Veremos cómo trabajar con parte de la API de archivos en JavaScript y obtener datos de archivos como la extensión, MIME, tamaño de los archivos que se encuentren cargados localmente a través del input type="file" y derivados.

Andrés Cruz 21-01-2016