Una vez que nuestro cliente está autentificado podemos hacer lo que nos imaginemos y Facebook nos permita con él. Podemos por ejemplo obtener la lista de amigos de nuestro usuario, obtener los nombres de sus álbumes de fotos etc… como dije en el primer o segundo post, depende de la ética de cada desarrollador la información a la que accesa y el uso que hace de ella.
También podemos hacer uso del lenguaje propio de Facebook (FBML) o más bien, debemos usar este lenguaje para desplegar, botones, cajas de texto, etc, ya que, como les dije antes, Facebook solamente permite cierto número de etiquetas HTML y lo demás
debe ser FBML (ver). Así que, olvidémonos de <head> y <body>, solamente haremos instrucciones out.println o out.print con el código FBML que necesitemos.
Por ejemplo:
para producir el siguiente framento de código
<fb:if-is-app-user> El usuario es usuario de la aplicación <fb:else>Debes haber instalado la aplicación para hacer uso de ella</fb:else> </fb:if-is-app-user>
es necesario en java, imprimirlo todo como si fuera texto, de la siguiente forma:
out.println("<fb:if-is-app-user> El usuario es usuario de la aplicación");
out.println("<fb:else>Debes haber instalado la aplicación para hacer uso de ella</fb:else>");
out.println("</fb:if-is-app-user>");
Similar a lo que se trabaja con cualquier etiqueta HTML en un servlet, no es diferente, ahora pueden hacer uso de cualquier etiqueta FMBL que quieran, estas ayudan bastante a que nuestra aplicación se vea y se sienta propia de Facebook, además de que algunas son bastante útiles.
En posts siguientes voy a explicar como hacer ciertas cosas para que nuestra aplicación se vea mejor, usar tabs, mostrar mensajes en el perfil, hacer invitaciones, escribir en el “mini-feed” noticias de la aplicación, etc. Posiblemente algunas cosas tarden por que sigo “mejorando” mi aplicación, así que espero que sigan visitando el blog.
update:
Una buena herramienta para probar el resultado del FBML antes de ponerlo en los servletes se ecuentra disponible en Facebook AQUI. Algunas cosas extrañamente producen errores diciendo que no se permiten “if tags” o algo así, sin embargo implementadas funcionan bien, de todas formas vale la pena darle un vistazo.