Cierto código de esta página está oficialmente descontinuado, sin embargo parte de las guías siguen siendo útiles (considero yo) hasta cierto punto. Puede que aclaren ciertas dudas acerca del funcionamiento de la plataforma. Actualmente ya no le doy mantenimiento a este proyecto. Sin emabargo cualquier duda que pueda resolver la resolveré con gusto.
Disclaimer:
December 30, 2008Invitaciones a la aplicación
June 19, 2008Aunque a mucha gente le parecen molestas, las invitaciones dentro de una aplicación (usadas de manera correcta) le dan a nuestra aplicación la oportunidad de popularizarse. Resulta deseable entonces crear una página que invite a los usuarios a usar nuestra aplicación, y para crearla, se utiliza la etiqueta FBML fb:request-form, esta etiqueta junto con otras, nos permite crear una página de invitación, como la siguiente:
Y una vez que seleccionamos a unos amigos la confirmación de envió de invitación se ve como sigue:
Cambios…
June 11, 2008Bueno, por si no lo saben, Facebook va a implementar cambios en su API (ver) y en la manera en la que se muestra su perfil, por lo tanto, en cualquier momento va a ser necesario cambiar el código de las aplicaciones; sin embargo, Facebook ha dejado de dar oficialmente soporte a su API de Java (cuando yo empecé a usarlo por allá por Febrero, todavía era una librería Oficial), ahora a partir de mayo (ver), Facebook, considera esta librería como NO-OFICIAL, así que se deslinda de responsabilidades y deja esto en manos de las API’s no oficiales.
Existe una buena alternativa actualmente (la cual todavía no entiendo por que no usé desde un principio), que voy a empezar a probar, así que de haber cambios en fragmentos de código que he puesto, lo haré saber. Por lo pronto, el vínculo que puse a la API de Java aún funciona y esa API aún funciona, sin embargo, con el tiempo se descontinuarán algunas de sus funciones y por lo tanto se hará inutil en ciertos aspectos.
La librería que pongo a continuación es un proyecto “open-source”, que le está dando buen seguimiento a los cambios que se preveen y ya los considera.
http://code.google.com/p/facebook-java-api/
Así que sería bueno, si empiezan a escribir una aplicación, empezar con esta librería en lugar de la que he puesto anteriormente. Mientras los cambios se hacen efectivos completamente los desarrolladores tendremos un tiempo para probar las nuevas llamadas a la API y ver como funcionan.
Por lo pronto yo, voy a empezar cambiando mi versión de Java de la 1.5 a la 1.6, posteriormente empezar a usar esta nueva API.
Para saber los cambios que se están dando en Facebook, ver las noticias aquí:
Efecto de Tabs en aplicaciones Facebook…
June 9, 2008Pues hemos podido autentificar un cliente, ahora lo interesante sería usar más de un servlet, digamos, uno que maneje nuestra página de bienvenida, otro que maneje algún proceso que hagamos en nuestra aplicación y otro más que maneje invitaciones a instalar nuestra aplicación (solo una idea).
Si tenemos más de un servlet, podemos autentificar el primero, y usar el mismo cliente en los demás, propagándolo como un atributo de sesión; de esta manera los demás servlets pueden hacer uso del cliente y de sus llamadas a la API.
El servlet principal, como el servlet que he puesto en el post anterior, autentifica un objeto del tipo
FacebookXMLRestClient
de la siguiente manera:
FacebookXMLRestclient cliente= new FacebookXmlRestClient(api_key,secret,sessionKey);
Y este se establece como atributo de la sesión de la siguiente manera:
request.getSession().setAttribute( “auth”, client );
Usando FBML en la aplicación…
June 6, 2008Una 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.
Autentificando un cliente…
June 4, 2008Hasta este punto, si todo ha salido bien, hemos podido desplegar un simple mensaje en facebook utilizando un servlet; sin embargo esto puede no ser suficiente para hacer ciertas cosas que podamos querer hacer dentro de nuestra aplicación, como mandar invitaciones a amigos, publicar historias en el “mini-feed” de Facebook, inclusive no podemos ni si quiera saber quien es o cuál es el número de usuario de la persona que está ejecutando nuestra aplicación. Existe entonces un procedimiento de autentificación que nos permite tener una interacción con la plataforma de tal manera que podamos hacer todas estas cosas:
Este diagrama es parecido al anterior, solo muestra ciertos detalles extras:
- El usuario visita facebook y “ejecuta” nuestra aplicación
- Facebook hace la petición al servidor del contenido de la aplicación
- Facebook y nuestro servlet mantienen una interacción usando la API de java (para hacer esto es necesario llevar a cabo la autentificación), además se cargan datos de nuestra base de datos (de tener una) y se crea el contenido de la aplicación.
- El contenido es enviado a Facebook
- EL contenido de la aplicación es mostrado al usuario.
El punto 3 es lo que la mayoría de los desarrolladores de aplicaciones hacen, de esta manera podemos hacer todas esas cosas que antes mencionamos y que, sin autentificar el cliente, no podríamos hacer. Es aquí también donde entra la controversia hacerca de la privacidad en Facebook, acerca de como las aplicaciones pueden tener acceso a nuestra información; obviamente es una cuestión de ética no hacer mál uso de esta información por parte del desarrollador, además, por parte de los usuarios es cuestión de saber qué instalamos y confiar o no en el contenido de las aplicaciones (…ver más).
El proceso de autentificación puede ser generalmente complicado o un poco difícil de entender. Dentro de las características de nuestra aplicación, descritas por la aplicación Developer se encuentran dos datos de crucial importancia, el API KEY y el SECRET, estos datos nos permitirán hacer la autentificación de nuestro servlet de tal manera que este tenga el permiso necesario para interactuar con Facebook.
Depelover app…
June 2, 2008Una vez que tenemos un servidor disponible para montar nuestra aplicación, necesitamos, utilizando la aplicación Developer de Facebook, crear o generar una nueva llave para la aplicación:
Ahora has creado el “espacio” para una nueva aplicación, se muestran una serie de detalles y puedes ver opciones como Advertise, DataStoreAdmin,Edit About Page, Edit Settings… etc, a nosotros nos va a interesar de estas opciones Edit Settings.
Una ves dentro de esta sección, vemos que hay muchos campos que hay que llenar, si visitamos este vínculo, puede que se aclaren ciertas dudas acerca de la anatomía de una aplicación. Ahora una descripción sobre los campos clave:
Conociendo Facebook…
May 31, 2008Pasó bastante tiempo desde que puse la primera entrada, ahora ya con mucho tiempo libre y antes de que se me olviden las cosas voy a empezar a hablar sobre como desarrollar una aplicación para Facebook (r) utilizando servlets creados con Java.
Primero que nada Facebook permite desarrollar aplicaciones creadas por nosotros (usuarios) para otros usuarios y esto es fácil de hacer, para esto hay que entender como funciona. Sugiero, recomiendo y si pudiera los obligaría a leer el Wiki de Facebook acerca de este procedimiento de crear aplicaciones.
http://wiki.developers.facebook.com/index.php/Creating_your_first_application
Leer este documento aclarará muchas dudas y también hará entender mejor algunas cosas que aquí daré por hecho que se entienden.
El primer paso en el desarrollo de aplicaciones basadas en Facebook es añadir una aplicación llamada Developer
, esta aplicación es propia de Facebook y nos permite configurar las opciones y características de las aplicaciones que vamos a desarrollar.
Acerca de …
May 31, 2008Hola, soy Choka =). Estoy actualmente trabajando en una aplicación para Facebook y he estado usando algunas opciones de la API de Facebook con Java, he estado trabajando en la autentificación, viendo las posibles opciones de interacción con la plataforma y he decidido escribir mis metas, logros y sobre todo como resolví ciertos problemas que tuve al iniciar. Posteriormente posiblemente en este blog escriba sobre otras cosas como ubuntu =) y algunos dolores de cabeza que me dió también al principio al instalarlo en mi laptop.
Decidí escribir todo esto en español por que hay algunos tutoriales o guías que hacen un excelente trabajo de apoyo en inglés y pensé que sería bueno escribir algo en español.
tutoriales en inglés :
Tips for writing Facebook apps
T= Machine
Facebook Developer


