Como obtener datos de un perfil o fan page de Facebook con cURL y JSON

En este tutorial veremos como obtener datos de un perfil o una fan page de Facebook utilizando la librería cURL y la función json_decode() de PHP.

Para aquellos que no lo sepan, hay que aclarar que para usar la librería cURL debemos tenerla habilitada en el archivo php.ini de nuestro servidor. En el caso de que esté deshabilitada, tendremos que buscar y abrir el archivo php.ini y localizar la siguiente línea: ;extension=php_curl.dll lo único que haremos será remover el punto y coma delante de la misma extension=php_curl.dll

Creando la función mágica

Lo que vamos a hacer es una función que muestre los datos como nombre, cantidad de “Me gusta”, imagen de portada y más, pasando el nombre de usuario o fan page por ella.

Lo que hacemos con la librería cURL es comunicarnos con la GRAPH API de Facebook para así poder acceder a los datos que queremos mostrar.

UN BREVE ANÁLISIS DEL CÓDIGO

Iniciamos sesión en cURL con la función curl_init() — dentro de curl_init() también se puede agregar la URL a la que queremos acceder — y a continuación con curl_setopt() establecemos las opciones de la sesión.

La constante CURLOPT_URL que usamos en curl_setopt() es la encargada de capturar la URL.

En este caso como tratamos con un protocolo de transferencia seguro (HTTPS) tendremos que utilizar CURLOPT_SSL_VERIFYPEER para que acepte cualquier certificado, de otro modo nos daría error al tratar de acceder a la URL. CURLOPT_SSL_VERIFYPEER solo acepta cualquier certificado si el valor es false como en el siguiente ejemplo curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);.

Con la constante CURLOPT_RETURNTRANSFER mostraremos el resultado como una string para mostrarlo con curl_exec().

Con json_decode() convertimos el resultado (un string JSON) en una variable PHP que contendrá los datos.

MOSTRANDO LOS DATOS DE FB

Para mostrar los datos solamente creamos una variable que contenga la función get_fb_data() y dentro de ella esté el nombre de usuario o fan page. Ejemplo: $fb = get_fb_data('StarWars');

Estos son los datos a los cuales pueden acceder a través de esta función (JSON)

Por ejemplo si queremos mostrar la cantidad de likes de la fan page lo hacemos de la siguiente manera: echo $fb->likes;. También podemos mostrar la portada de la fan page escribiendo: echo '<img src="' . $fb->cover->source . '">';

Modificado por última vez el día 25 de diciembre de 2012 a las 20:40

Posted in PHP
Scroll to top