Desarrollo: Cómo publicar mensajes en el muro del usuario de la aplicación utilizando FBJS

Uno de los elementos de mayor viralización de los que dispone Facebook consiste en las publicaciones en los muros de los usuarios. ¿Cómo podemos publicar en el muro de un usuario desde una aplicación? Pues con el método streamPublish de la clase Facebook. Con este método crearemos una ventana en pantalla para que el usuario confirme su publicación en su muro.

¿Es complicado de utilizar? Si no eres programador sí, si eres programador no, es bastante sencillo.

Os voy a poner un ejemplo sacado de la aplicación Mascletà Fallera:

<?php
$feedStory = array(
‘name’ => “Ha creado una Mascletà Fallera.”,
‘href’ => ‘http://apps.facebook.com/mascleta’,
‘description’ => ‘Las fallas de Valencia son una fiesta conocida universalmente. Uno de sus puntos álgidos son las masclet&agrave;s diarias que inundan las calles de  Valencia con un estruendo atronador. ¿Te apetece disfrutar de la mascletà?’
);

$feedStory[‘media’] = array(
array(
‘type’ => ‘image’,
‘src’ => ‘http://www.skalaestrategias.com/facebook/mascleta/img/icono_facebook_titulo_cohete.png’,
‘href’ => ‘http://apps.facebook.com/mascleta’    )
);

?>
<script>
var js_feedStory = <?php echo json_encode($feedStory); ?>;
var js_actionLinks = <?php echo json_encode(array( array(‘text’ => ‘Hazte Fan’, ‘href’ => ‘http://apps.facebook.com/mascleta/’))); ?>;
var js_targetId = null; //Este valor debe ser nulo para que se publique en el muro del usuario
var js_userMsg = ”; //El texto que aparece en el campo de texto editable por el usuario
var js_headlineMsg = “&iquest;Quieres publicar en tu muro el resultado de tu Masclet&agrave; Fallera?”; //La etiqueta de texto que aparece en azul encima del texto
var js_callback = null; //Pon aquí el nombre de la función javascript que quieras ejecutar cuando se pulse un botón
var AUTO_PUBLISH = false;
var js_actorId = null;

Facebook.streamPublish(js_userMsg, js_feedStory, js_actionLinks, js_targetId, js_headlineMsg, js_callback, AUTO_PUBLISH, js_actorId);
</script>

Con este código publicamos el siguiente mensaje en pantalla:

Cómo podéis ver el código tiene dos partes, una en PHP y otra en FBJS (el javascript de Facebook). En la parte de PHP creamos dos arrays que contienen la información del texto y de la foto, así como de los enlaces de la caja del mensaje.

En el código FBJS tenemos por una parte las variables dónde configuramos la ventana del mensaje, por una parte le damos a esas variables valores en PHP y por otro los introducimos en FBJS.

Por último tenemos el método streamPublish de la clase Facebook que es donde ordenamos la publicación del mensaje.

Espero que os sea de utilidad 🙂

14 comentarios sobre “Desarrollo: Cómo publicar mensajes en el muro del usuario de la aplicación utilizando FBJS

  • Pingback: Desarrollo: Publicar mensajes en el muro desde una aplicación con PHP | Blog sobre Facebook | Faceblog - Blog sobre Facebook

  • el 28 abril, 2010 a las 8:39 pm
    Permalink

    Hola, quisiera saber como hace yotube para mostrar sus videos en los muros de facebook. gracias

    Respuesta
  • el 21 junio, 2010 a las 11:13 am
    Permalink

    Hola, gracias por tu ayuda.
    He copiado el código de tu ejemplo y lo he pegado en mi página. Cuando lo ejecuto facebook me lanza este error:

    Parse error: syntax error, unexpected T_STRING, expecting ‘)’ in /homepages/23/d245116068/htdocs/potdeplomtv/agenda/noticies.php on line 76

    la línea 76 es:

    ‘name’ => “Ha creado una Mascletà Fallera.”,

    ¿A qué crees que es debido? gracias

    Respuesta
  • el 9 septiembre, 2010 a las 1:51 pm
    Permalink

    Como podria hacer esto con la nueva SDK php?? Quiero publicar en el muro del que está usando la aplicacion y en el muro de todos los amigos que elija el usuario.
    GRACIAS

    Respuesta
  • el 7 marzo, 2011 a las 11:43 am
    Permalink

    Hola,

    Me sale este error de javascript, ¿que faltará en mi código?

    Error: Facebook is not defined

    en la linea:

    Facebook.streamPublish(js_userMsg, js_feedStory, js_actionLinks, js_targetId, js_headlineMsg, js_callback, AUTO_PUBLISH, js_actorId);

    Gracias

    Respuesta
  • el 7 marzo, 2011 a las 5:00 pm
    Permalink

    Hola Nuno,

    Te sale ese mensaje porque no está instaciado el objeto Facebook. Este código sólo funciona en aplicaciones en modo canvas FBML dentro del entrono de Facebook.

    Cómo a día de hoy ya no permiten aplicaciones nuevas en FBML si no la has creado antes puede que no te dejen crearla con esta configuración para que funcione este código.

    Un saludo,
    Gabriel

    Respuesta
  • el 15 marzo, 2011 a las 5:06 pm
    Permalink

    hola..necesito saber como desarrollo el modulo de (“comentario…y publicar comentario”) como esta en este ejemplo que estoy haciendo.
    Gracias

    Respuesta
  • el 20 mayo, 2011 a las 10:32 pm
    Permalink

    Hola,
    A mi me ha servido mucho esto.
    Gracias !!

    Respuesta
  • el 7 julio, 2011 a las 6:38 pm
    Permalink

    Hola, deseo crear un aplicación en facebook que despues de permitida mis amigos puedan invitar a usar o sugerir a una pagina y luego de haber invitado o sugerido pueda publicarles en su muro la invitación, es posible?. Gracias.

    Respuesta
  • el 21 agosto, 2011 a las 3:47 pm
    Permalink

    Hola Gabriel, en el fb de mi hijo menor apareció como publicado por él en su estado una declaración utilizando palabras soeces y falsas sobre su ser, misma que un tiempo atrás (3 meses) figuraron en el estado de un amigo de él. ¿Cómo se puede evitar esto? Por ahora, eliminamos la publicación y cambiamos la contraseña, pero imagino que se puede crear alguna barrera. Agradeceré tu orientación.

    Respuesta
  • el 21 agosto, 2011 a las 7:51 pm
    Permalink

    Hola Laura,

    Para evitar que ninguna aplicación pueda publicar en tu muro sin tu consentimiento en Facebook tienes que ir a Cuenta>Configuración de la Privacidad>Aplicaciones y Sitios web>Editar la configuración de cada aplicación.

    Te aparecerá a continuación un listado con todas las aplicaciones y puedes configurar una a una los permisos que tienen para publicar en tu muro.

    Saludos,

    Respuesta
  • el 28 julio, 2013 a las 5:59 pm
    Permalink

    But at the end of the day, even the computer is a machine and like all machines it calls for maintenance, what
    we can call as. This suggests banks will be
    in a position to borrow cash from the central authority at low rates and subsequently,
    they are going to be able to offer low interest private loans.
    Next thing to do is to pour the space cake batter into the pan &
    put it in the oven for about 25 minutes.

    Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sígueme