Como usar FBML en tus aplicaciones para facebook

Vimos hace poco como hacer nuestra primera aplicacion para facebook, un “Hola [tu nombre]“. Era lo basico y vamos a seguir avanzando de a poco, a medida que vaya aprendiendo yo

Hoy quiero mostrarles como usar FBML. FBML es un lenguaje de etiquetas muy similar al HTML. El FBML es lo que nos va a permitir tener acceso a diferentes elementos del perfil y acciones de un usuario. Como es eso? Pues facebook por cuestiones de privacidad no permite que uno pueda acceder a datos de los usuarios, uno solo puede acceder a los ID de usuario. Y mediante ese ID mas FBML uno puede acceder a los otros datos del perfil (nombre, foto, amigos, etc etc) y solo desde una aplicacion que se ejecute en el mismo facebook. Es todo una cuestion de seguridad y muy buena segun yo.

Tenemos que recordar que nuestras aplicaciones estan alojadas en nuestros propios servidores y que facebook no nos da ningun alojamiento ni nada parecido, por lo tanto las bases de datos tambien las alojamos nosotros. Entonces a la hora de guardar algo deben guardar el ID de un usuario pues no tendran acceso al nombre, foto ni nada mas del usuario.

Ej: vamos a suponer que tenemos el ID de un usuario X que es 111222777 entonces…si en nuestra aplicacion quisieramos mostrar el nombre de esa persona hariamos asi:

1
<fb:name uid="111222777" />

O si por ejemplo quisieramos ver las foto de perfil de ese usuario hariamos asi:

1
<fb:profile-pic uid='111222777' />

Como veran no es dificil. No son muchas etiquetas. Y reciben parametros con las que podremos aprovecharlas mejor.

Veamos un ejemplo mas completo inspirado en un post de ikhuerta.

Vamos a usar el los mismos pasos que en mi tuto anteior. Solo vamos a cambiar el paso 9, el archivo index.php contendra lo siguiente:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Llamar el archivo que contiene los parametros de configuración y obtine el id del usuario
require_once 'includes/facebook_config.php';
// Extraemos a un array los id's de todos sus amigos
$friends_ids $facebook->api_client->friends_get();
?>
<!-- Mostrando foto del usuario logueado -->
<p>Hola! esta es tu foto: <fb:profile-pic uid="<?php echo $id_usuario; ?>" linked="true" /></p>
<!-- Mostramos las fotos de los amigos y nombres en una tabla-->
<table border=1>
   <tr>
      <td>Foto</td>
      <td>Nombre</td>
   </tr>
   <?php foreach $friends_ids as $friend_id ) {?>
   <tr>
      <td><fb:profile-pic uid='<?php echo $friend_id; ?>' linked='true' /></td>
      <td><fb:name uid='<?php echo $friend_id; ?>' /></td>
   </tr>
   <?}?>
</table>

Eso les va a mostrar primero tu foto y luego una tabla con las fotos y nombres de tus amigos. Algo asi:

Como usar FBML en tus aplicaciones para facebook

Muy sencillo. Espero sus comentarios y dudas.

Deja una respuesta