Poesía Binaria

Andanzas en Facebook: Publicar en el muro personal fácilmente

Desde el 20/12/2009 este método de publicación no está permitido por Facebook, para ver el nuevo método, ver este artículo.

Una de las cosas más comunes cuando se hace una aplicación para Facebook es la publicación de contenidos en el muro de la persona que ha ejecutado la aplicación. Esto al final es como un resultado de la ejecución de dicha aplicación (de hecho el objetivo de muchas de ellas es la publicación de un mensaje en el perfil), y de paso nos sirve como promoción para que más gente nos conozca.

La API de Facebook nos proporciona las herramientas para poder utilizar esta característica, que por ejemplo podemos llamar desde FBJS de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
var template_id = xxxxxxxxx; // Es el identificador de nuestra plantilla de publicación, más adelante se explica cómo se obtiene este ID. (Sustituir las xxxxxxxxx con ese número).
// En la ventana de publicación, el texto que saldrá para pedirle a los usuarios que publiquen el resultado.
var user_message_prompt = "Comenta algo... si quieres";
// El texto de muestra que saldrá a la hora de publicar.
var user_message = {value: ""};

// La información que introducimos en la plantilla, por ejemplo imágenes y textos fijos que acompañarán nuestro mensaje
var template_data={"cuantagente":"0.04", "images":[{"src":"archivo.jpg", "href":"enlace"}]}
var body_general="Mensaje que aparecerá en el perfil junto a las fotos";

var continuation = function() {
// Podemos dejarlo en blanco si lo deseamos
};

Facebook.showFeedDialog( template_id, template_data, body_general, '', continuation, user_message_prompt, user_message );
</script>

Con este código, ya se mostraría la pantalla de publicación, podemos introducirlo dentro de otros scripts para que se dispare en el momento que nosotros queramos.

En la imagen vienen explicados algunos elementos:

El elemento template_data, incluirá la información de las palabras clave que hemos incluído en nuestra plantilla, como por ejemplo cuantagente, más adelante se hablará de ello; y además, las imágenes que se incluyen así como un enlace en cada una, todo esto en notación JSON. Básicamente, para no leer mucho, es un formato para intercambio de datos, pero usado también para declarar objetos en Javascript y se utiliza de la siguiente manera:

1
var objeto={"clave1":"valor1", [{"clave2-1":"valor2-1"},{"clave2-2":"valor2-2"}], "clave3":"valor3"};

La función continuation, se llamará una vez se cierre el diálogo de publicación, ya sea tras publicar el contenido como al cerrar la ventana sin publicar. No es posible determinar si se ha publicado o no, al menos Facebook no nos va a dar esa información.

Como hemos visto, es necesaria una plantilla de publicación (feed template), y ésta tendrá un código identificador (template bundle id), para conseguirlo, tenemos que entrar en la zona de administración de nuestras aplicaciones de Facebook (www.facebook.com/developers/apps.php).

A continuación, seleccionamos la aplicación.
Antes de continuar, tenemos que tener en cuenta que, dado que son plantillas, se establecerán palabras clave, que a la hora de la publicación serán sustituidas por lo que realmente significan, y en Facebook estas palabras claves tienen la siguiente forma: {*palabraclave*}. Por ejemplo, la palabra clave {*actor*}, a la hora de publicar un mensaje en el muro, se traducirá por el nombre del usuario que ha realizado la acción, en este caso, el nombre del usuario que acaba de ejecutar nuestra aplicación.

Dicho esto, primero tenemos que crear plantillas de una línea (one line templates), éstas se utilizarán en los resúmenes de los perfiles y, como nos indican en la ayuda del sistema suelen empezar por la palabra {*actor*}, serán las pequeñas historias que se publican en una línea, podemos poner enlaces (a la aplicación por ejemplo), en incluso más palabras clave.

En la siguiente pantalla, configuraremos el mensaje que aparecerá en los muros (el grande, con fotos y todo; aunque por ahora no nos preocupemos de la foto):

En esta plantilla hemos creado la palabra clave {*cuantagente*}, y más abajo, donde pone plantilla de datos simple, tenemos que escribir la correspondencia en notación JSON.

Tras ello, podemos incluir un enlace de acción o action link, lo más común es utilizarlo como un enlace a nuestra aplicación, será el que aparezca aquí:

Debemos configurar el texto del enlace (podemos utilizar también palabras clave) y el enlace en cuestión, y ya sólo publicarlo. Tras ello, aparecerá en el centro de la pantalla una ventana de diálogo con el ID de la plantilla, y ese dato es el que debemos copiar en el código de arriba.
También podemos acceder más adelante a ese número y ver las plantillas que tenemos registradas, si accedemos a Registered Templates Console.

Podemos ver cómo algunas aplicaciones tienen más de un Action Link, para poder hacerlo nosotros, tenemos que hacerlo por código, registrando la plantilla desde la API, para más información, podéis visitar la wiki de desarrolladores de Facebook.

Para la inclusión de imágenes en la publicación, siguiente el ejemplo, tenemos que manipular template_data, añadiendo el elemento «images», con el siguiente valor:

1
2
3
4
5
6
7
var template_data={"dato1":"valor1", "<strong>images</strong>":[
{"src":"archivo.jpg", "href":"http://www.miweb.com"},   // Imagen 1
{"src":"archivo2.jpg", "href":"http://apps.facebook.com/mi_aplicacion/"},   // Imagen 2
{"src":"archivo3.jpg", "href":"http://www.poesiabinaria.net"},   // Imagen 3
......
]
}

También podría interesarte....