2. ¿Qué es FBML? El FBML (FacebookMarkupLanguage) es el lenguaje de marcas de Facebook. Sirve para ayudar a construir aplicaciones completamente integradas en el entorno de Facebook. Te permite acciones como acceder al perfil de los usuarios, mostrar sus fotos, integrar foros de comentarios, entre otros.
3. ¿en qué se basa? Está basado en parte en un subconjunto de instrucciones del HTML para algunos aspectos visuales, pero con el paso del tiempo, ha ido creciendo con más y más instrucciones que permiten interactuar con los datos almacenados en Facebook. Aún así, sigue siendo un lenguaje de marcas, si queremos desarrollar una aplicación para Facebook necesitaremos el apoyo de otro lenguaje de programación completo como por ejemplo PHP.
4. QUE SE NECESITA PARA CREAR UNA APLICACIÓN EN FBML Una cuenta Facebook Agregar la aplicación de desarrollador facebook Un servidor con soporte PHP PHP Client (hay que subir a la raiz del servidor todos los archivos que digan "facebook * .php" que están dentro de la subcarpeta Php) Lo más importante: UNA BUENA IDEA hay que tener en cuenta que facebook no te brinda base de datos ni hosting
5. ¿porqué necesitamos un servidor? Un usuario entra a la aplicación, Facebook va a buscar la página de la aplicación a el servidor externo donde esta alojada, este servidor lee el php, lo ejecuta y le devuelve a Facebook el FBML, Facebook interpreta el FBML y le devuelve a nuestro explorador código HTML (+ complementos) para que nos muestre la pagina web.
6. RECURSOS PARA LOS DESARROLLADORES Los recursos disponibles a los desarrolladores se agrupan en 3 categorías: API: es una interfaz basada en REST que permite el acceso a los datos del perfil, amigos, fotos y eventos del usuario mediante la utilización de mensajes GET o POST. Consultas (FQL, “FacebookQueryLanguage”): es un lenguaje de consultas similar a SQL utilizado para acceder a los mismos datos que la API pero permitiendo consultas más complejas.
7. Maquetación (FBML, “FaceboookMarkupLanguage”): es un lenguaje de markup similar a HTML que permite ser intercalado con el HTML a utilizar para integrar las aplicaciones a la experiencia de usuario Facebook. Utilizando FBML se pueden acceder distintos puntos de la red como ser el perfil, acciones del perfil, canvas y feeds. Este lenguaje también incluye soporte para AJAX y Javascript.
8. QUE DEBE TENER UNA APLICACIÓN EN FACEBOOK Una aplicación en Facebook posee una compleja estructura que permite brindar una experiencia de usuario completa: ProductDirectory: cuando un usuario navega el directorio de aplicaciones de Facebook, por cada aplicación se muestra una pequeña sección con el nombre, una imagen y una pequeña descripción. About: esta página muestra información general de la aplicación. Debe inducir al usuario a instalar la aplicación. LeftNav: es el panel de navegación izquierdo. Las aplicaciones pueden tener su ícono y nombre en este panel.
9. Canvas Page: es la página principal de la aplicación. Home: esta página es accedida utilizando el panel de navegación de la izquierda, en general muestra información de los amigos del usuario. UserDashboard: es la página donde el usuario administra sus datos en una aplicación y determina de que forma las aplicaciones acceden a sus datos personales. Profile: es la representación online de la identidad del usuario. La API provee múltiples puntos de integración con el perfil del usuario permitiendo actualizar datos del mismo.
10. Profile Box: presenta información actualizada sobre las acciones recientes del usuario. ProfileActions Links: debajo de la foto del usuario en el perfil, se pueden agregar enlaces para invocar acciones en la aplicación. PrivacySettings: se utiliza para definir los niveles de privacidad de los datos del perfil por aplicación. News Feed: como su nombre lo indica es un “feed” de noticias, allí las aplicaciones pueden “publicar” información del usuario de la misma.
11. Alerts: las aplicaciones pueden enviar notificaciones a los usuarios a través del correo electrónico. MessageAttachments: las aplicaciones pueden incluir archivos adjuntos que aparecen en la ventana para componer mensajes. Requests: las aplicaciones pueden crear peticiones que aparecen en la parte superior izquierda de la página principal. En general son iniciados por amigos que solicitan realizar alguna acción.
12. COMO COMENZAR A CREAR UNA APLICACIÓN El primer paso consiste en agregar la aplicación “Developer“. Todo contenido que se agrega a Facebook es una aplicación, es así que para desarrollarlas es necesaria una aplicación que las contenga.
13. Luego debemos presionar el botón “Set Up New Application”: allí se nos preguntará el nombre de nuestra aplicación y clickeando en “OptionalFields” encontramos información necesaria para el desarrollo. Colocamos en URL del servidor en donde se encuentra nuestra aplicación CallbackURL = http://servidor/nombreaplicacion Y el URL que crea facebook para la aplicación Canvas Page URL = http://apps.facebook.com/nombredeaplicación/
14. Elegimos: La opción “Can yourapplicationbeaddedonFacebook?” para poder agregar nuestra aplicación. La opción “Who can addyourapplicationtotheirFacebookaccount?” marcamos Users y AllPages. La opción “DeveloperMode”. Por último hacemos click en “Save”
15. Ahora debemos agregar nuestra aplicación: para esto nos dirigimos a Developers y allí buscamos nuestra aplicación (en la barra derecha) y hacemos un click en el nombre. Allí vemos un botón que dice “AddApplication” o “Set Up New Aplication”, lo apretamos y en la página siguiente hacemos lo mismo con “Add NOMBRE_DE_LA_APLICACION”.
16. Al terminar de dar de alta nos va a mostrar un ejemplo para que probemos como se ve nuestra aplicación. Otra cuestión importante, son 2 claves que van a darnos (appapikey y appsecret), son a la hora de crear el objeto Facebook en el php, serán nuestra identificación.
17. <?php//acabusca en unos de los archivos de la Client Library que bajamos y hay que poner en el mismo directorio require_once 'facebook.php'; // estas son las claves que te da facebook para cada aplicacion$appapikey = 'adsfdasfasdfasdfasdfasfdasdfasdfasd'; $appsecret = 'asdfasdfasdfasdfasdfasdf'; //crea el objeto facebook y hace la conexion con las claves $facebook = new Facebook($appapikey, $appsecret); //se guarda el id de usuario logueado$user_id = $facebook->require_login(); // Greetthecurrentlylogged-in user! //codigo FBML, mesclado con PHP, esta etiqueta muestra el nombre de usuario a travez del id que nos dio la api anteriormente echo "<p>Hello, <fb:nameuid="$user_id" useyou="false" />!</p>"; //aca el codigo puede continuar... echo "</p>";