Cómo ya venía diciendo hace unos días en un post anterior, recientemente me he puesto a investigar MySQL en combinación con PHP y JavaScript. Los resultado son muy interesantes y es que tiene infinidad de aplicaciones, sobre todo cuando usamos las API de Facebook.

Acabo de desarrollar una aplicación llamada FacebookWall que te permite insertar tu nombre de usuario y añadir automáticamente tu miniatura de perfil a una pared.

Para ello descubrí que Facebook permite coger cualquier foto de usuario siempre que se sepa su ID o nombre de usuario (en el caso de que el usuario lo haya definido). La verdad es que es muy fácil tiene una pinta así la URL:

<img src="https://graph.facebook.com/mononelo/picture" />

Dónde mononelo es el nombre de usuario o la ID de usuario (por ejemplo: https://www.facebook.com/profile.php?id=100001678137872 el número en negrita es el ID de usuario si no has definido un nombre de usuario).

Pero la cosa no se queda aquí. el Open Graph Protocol de Facebook da para mucho más. Si ponemos: https://graph.facebook.com/mononelo en la barra de direcciones de nuestro navegador saldrán toda la información que nos da FB. Ejemplo:

{
   "id": "545574280",
   "name": "Mononelo Kruh",
   "first_name": "Mononelo",
   "last_name": "Kruh",
   "link": "https://www.facebook.com/mononelo",
   "username": "mononelo",
   "gender": "male",
   "locale": "es_ES"
}

Y si encima le añadimos ?metadata=1 detrás nos da mucha más información (https://graph.facebook.com/mononelo?metadata=1).

¿Cómo conseguimos estos datos? ¡Muy Facil! Se trata básicamente de parsear el feed, que nos da FB, de la siguiente forma:

<?php
$pageContent = file_get_contents('http://graph.facebook.com/mononelo');
$parsedJson  = json_decode($pageContent);
$name = $parsedJson->name;
$url = $parsedJson->link;
$username = $parsedJson->username;
$sexo = $parsedJson->gender;
?>

Y podríamos seguir pidiendo datos… Así pues podemos saber todos los datos de multitud de usuarios, aunque hay ciertos datos a los que no podemos acceder sin pedir permiso a los propios usuario. Os dejo la documentación para saber qué datos se pueden conseguir de los usuarios de FB.