Hace unos días me encontré en mi casilla de correo un mail de Facebook diciendo que mi aplicación está utilizando los métodos feed.publishUserAction, feed.publishTemplatizedAction, Facebook.showFeedDialog, FB.Connect.showFeedDialog o la clase FBFeedDialog, y que el 5 de enero van a ser deprecados.
A partir de esto sugerían utilizar stream.publish, FB.Connect.streamPublish o Facebook.streamPublish . Por eso mismo me puse a hacer unas pruebas y pude hacerlo andar, les voy a poner algunos ejemplos para que los puedan utilizar en sus aplicaciones.
* Utilizando stream.publish
<?php $message = 'Este mensaje es el comentario de la publicación.'; $attachment = array( 'name' => 'El título del post', 'href' => 'La URL que hace referencia al post ', 'caption' => 'Un subtítulo del post', 'description' => 'Texto descriptivo para la publicación', 'media' => array(array('type' => 'image', 'src' => 'url de la imagen', 'href' => 'link que va a tener la imagen'))); //'media'=> array(array( 'type'=> 'flash', //'swfsrc'=> 'url del flash', //'imgsrc'=> 'imagen que va a aparecer al publicarse', //'width'=> 'ancho', //'height'=> 'altura', //'expanded_width'=> 'ancho al expandirse', //'expanded_height'=> 'altura la expandirse'))); $action_links = array( array('text' => 'Texto que aparece al lado de -me gusta-', 'href' => 'url del texto')); $attachment = json_encode($attachment); $action_links = json_encode($action_links); $facebook->api_client->stream_publish($message, $attachment, $action_links);
* Utilizando Facebook.streamPublish (FBJS)
<script> var auto_publish = true; var js_targetId = null; var js_userMsg =''; var js_callback = null; var js_actorId = null; var message = 'xxxxx.'; var attachment = {'name' : 'xxxxx', 'href' : 'xxxxxx', 'caption' : 'xxxxxxxx', 'description': 'xxxxxxxxxxxxxxxxxxxxxx', 'media':[{'type':'flash', 'swfsrc':'xxxxxxxxxxxxxxx', 'imgsrc':'xxxxxxxxxxxxxxxx', 'width' :'xx', 'height':'xx', 'expanded_width':'xx', 'expanded_height':'xx'}]}; var action_links = [{'text' : 'xxxxxx', 'href' : 'xxxxxxxxx'}]; Facebook.streamPublish(message,attachment,action_links,js_targetId,js_userMsg,js_callback,auto_publish,js_actorId); </script>
Espero les haya servido.
Saludos!
Links útiles:
http://wiki.developers.facebook.com/index.php/Stream.publish
http://wiki.developers.facebook.com/index.php/Facebook.streamPublish
http://wiki.developers.facebook.com/index.php/Attachment_(Streams)
http://developers.facebook.com/docs/?u=facebook.jslib.FB.Connect.streamPublish
7 Respuestas a “Como utilizar stream.publish para publicar noticias”
Dejar una respuesta
Debes estar logueado para comentar.




Agradecerte por tu dedicación y el material que hay en esta web que llegue en busca de una solución ya que trato de actualizar la función de showFeedDialog del plugin de sociable, bueno mi pregunta es cómo puedo generar ese “attachment”? de tal forma que yo ingrese el link del post o el contenido html y me devuelva el attachment donde este parseada la información.
No sé si captas mi idea pero por ejemplo cuando introducimos un link en facebook este solo va parseando la información y me imagino que genera ese attachment, busco algo aparecido si esk existe.
Hola Alvaro, disculpá la demora en contestarte pero estaba de vacaciones
. La verdad no conozco si hay alguna api que te simplifique las cosas en php, habría que buscar por la web si existe algo similar. Sino tendrás que probar de hacerlo vos utilizando curl o file_get_contents y parseando el contenido según los tags, aunque obviamente esto llevará un poco más de tiempo…
Saludos!
Les recomiendo http://www.facebookapps.com.ar
Les recomiendo http://www.facebookapps.com.ar
Hola, en primer lugar felicitarte por la web es una de las pocas que he podido encontrar en Español que se dedique al desarrollo en facebook. Tengo una duda y no encuentro respuesta a ver si pudes responderla.¿podría acceder a mi cuenta mediante codigo (php en este caso)? Lo que intento es crear una aplicación de gestion de contenido donde poniendo el usuario y el pass se conecte a facebook y me permita automaticamente publicar las noticias como se explica en este post. No se si me he explicado bien, espero que entiendan lo que quiero hacer. Gracaias
Hola Jose, no entiendo bien lo que queres hacer. Vos queres que en una página externa a facebook se pueda publicar contenido en facebook cuando se presiona un botón? a que te referís automaticamente sino?
Saludos!
Hola, a realmente quiero hacer dos cosas:que cuando plubique una noticia en mi web aparezca en mi muro facebook, y la otra seria mostrar mi muro en la web(no el muro de la persona que entre en mi web, sino mi muro en particular). Esto es solo posible estando autentificado en facebook, y me gustaria saber si esto se podria hacer desde codigo. Hay muchos ejemplos que permiten a el usuario ke entra en tu web autentificarse en su cuenta facebook en particular, lo que quiero yo es estar siempre conectado a mi cuenta desde php. A ver si me explico mejor. Un saludo.