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:
Muy sencillo. Espero sus comentarios y dudas.