Desarrollo: Publicar mensajes en el muro desde una aplicación con PHP

Cómo sabéis todos uno de los principales canales de comunicación en Facebook es el muro. Todas las noticias importantes, las imágenes, los comunicados de las aplicaciones, etc, se publican en este elemento de Facebook.

En anteriores posts os he explicado como publicar en el muro de Facebook con FBJS y como publicar en el muro de Facebook con Actionscript. Pues bien, en este post os voy a explicar como publicar en el muro utilizando PHP.

En primer lugar tenemos que solicitar al usuario que nos conceda permisos extendidos para poder publicar en su muro sin autorización previa, esto es debido a que PHP es un lenguaje de servidor por lo que cada vez que el servidor quiera ejecutar esta publicación no puede pedir confirmación directamente al usuario. Esta solicitud de permisos extendidos para publicar en el muro se hace de la siguiente manera: $user_id = $facebook->require_login($required_permissions = ‘publish_stream’);

Al hacer esta petición forzamos a la aplicación a solicitar la autorización del usuario de estos permisos para la aplicación.

Una vez tenemos este permiso (es decir, si $user_id tiene un valor numérico) debemos utilizar este código (pertenece a la aplicación Alicante Suena 2.0):

$message = ‘ quiere invitarte a una noche inolvidable…’;
$attachment = array(
‘name’ => ‘A ti y a otros 8 amigos a vivir la experiencia de asistir al Alicante Suena 2.0 desde la exclusiva zona V.I.P.’,
‘href’ => ‘http://apps.facebook.com/alicantesuena/’,
‘caption’ => ‘Pasa una noche inolvidable con chef japonés, champagne y la mejor música electrónica rodeado de tus amigos.’,
‘media’ => array(array(‘type’ => ‘image’, ‘src’ => ‘http://www.videojuegosparachicas.com/facebook/alicantesuena/php/img/logo.gif’, ‘href’ => ‘http://apps.facebook.com/alicantesuena/’))
);
$action_links = array(
array(‘text’ => ‘Confirmar Invitación’,
‘href’ => $enlace));

$target_id = $aIds[$i];

$facebook->api_client->stream_publish($message, $attachment, $action_links, $target_id);

Obviamente el contenido del texto, de los enlaces y de la imagen podemos cambiarlo.

Espero que os sirva de ayuda 🙂

26 comentarios sobre “Desarrollo: Publicar mensajes en el muro desde una aplicación con PHP

  • el 25 Abril, 2010 a las 7:50 pm
    Permalink

    Es posible publiques un lick donde hacer download de cada “tutorial”… Gracias anticipadas…

    Respuesta
  • el 28 Abril, 2010 a las 12:48 am
    Permalink

    Estimado, muy buenos tus aportes, soy un agradecido.
    Pero queria comentarte que tengo un problema cuando uso $facebook->require_login($required_permissions = ‘read_stream’);
    sabes que me pide que me loguee en facebook, paso el primer logueo(ingrese mail y password sin problemas), y luego me redirecciona de nuevo
    a otro pantalla y me solicita que ingrese nuevamente mis password, aca en la direccion esta la imagen de la ventana a la que me lleva
    http://www.red-geek.com.ar/errores/error-face.jpg
    Ingreso nuevamente mi password y me lleva a mi facebook y no ya como antes me pasaba a mi aplicacion programada en facebook
    como cuando utilizaba $user_id = $facebook->require_login();
    sabes porque puede ser este problema

    Respuesta
  • el 28 Abril, 2010 a las 1:53 pm
    Permalink

    Hola Horacio,

    No sé que te puede estar pasando. ¿Me puedes enviar a mi email personal (gabicuesta@gmail.com) tu código y te digo si veo algo que esté mal?

    Un saludo,

    Respuesta
  • el 29 Abril, 2010 a las 9:12 pm
    Permalink

    Hola Alberto,

    Tienes razón, ahora mismo la librería antigua de PHP no está disponible.

    Por mi parte he comenzado a utilizar hoy el nuevo SDK de PHP, este fin de semana a ver si cuelgo en el blog algún ejemplo.

    Respuesta
  • el 12 Mayo, 2010 a las 10:00 pm
    Permalink

    Para postear en el muro con las nuevas librerias, una vez que ya tenes la autentificacion (creaste el objeto Facebook y el usuario se autentifico con un login que pase el status_update como parametro, simplemente hay que hacer esto:

    $facebook->api(“/me/feed”,”post”,$parametros);
    El me se puede reemplazar por el id, y los parametros son un array que puede tener estos elementos:
    cb, message, link, picture y description

    Respuesta
  • el 14 Mayo, 2010 a las 5:46 pm
    Permalink

    Buenas,

    una consulta, no entiendo esta linea de tu codigo, ke hace???
    $target_id = $aIds[$i];

    Gracias por el aporte

    Respuesta
  • el 9 Agosto, 2010 a las 10:44 pm
    Permalink

    Hola a todos,
    Alguien sabe como republicar en mensaje de la aplicacion a todas las personas que estan activos en la aplicacion?

    quisiera republicar en el muro un mensaje a todos los usuarios que estan activos en la aplicacion

    desde ya gracias

    Respuesta
  • el 15 Noviembre, 2010 a las 4:38 am
    Permalink

    DONDE PUEDO DESCARGAR LAS LIBRERIAS DE FACBEOOK

    Respuesta
  • el 4 Febrero, 2011 a las 8:42 pm
    Permalink

    necesito publicar en mi muro (o en X muro) automaticamente desde un backend.. como se puede hacer para que autentifique automaticamente y publique ?
    ya mire mil ejemplos y no encuentro nada. lo poco q encontre me tira error…

    gracias !!

    pd. siempre con el nuevo sdk

    Respuesta
  • el 10 Febrero, 2011 a las 5:22 pm
    Permalink

    Hola Gabriel tengo una consulta es posible que cuando yo publique en el muro de alguien un mensaje y ese mensaje contenga un link este sea enmascarado?

    Algo así sería el mensaje que vería el usuario:
    Hola mundo, pincha acá http://www.holamundo.com

    Pero al pinchar en http://www.holamundo.com realmente lo rediriga a otra página.

    Algo similar a lo que pasa con html http://www.holamundo.com

    Muchas gracias de antemano.

    Respuesta
  • el 15 Febrero, 2011 a las 7:36 pm
    Permalink

    Estimado Gabriel, tendrias un explicativo de como publicar contenido en facebook desde php con la nueva api de facebook?.
    Muchas gracias.

    Jorge

    Respuesta
  • el 23 Marzo, 2011 a las 10:02 am
    Permalink

    Hola Gabriel, tendrás un tutorial de cómo personalizar los iconos(favicon) de mis pestañas (fbml) en mi página de facebook.
    Por ejm.: la pestaña “vídeo” tiene una cámara filmadora miniatura. (¿me explico?).

    Agradezco de antemano tu respuesta.

    R.

    Respuesta
  • el 20 Mayo, 2011 a las 9:45 pm
    Permalink

    Hola Gabriel, keria hacerte una consulta, pz me gusta muxo este mundo de la programacion, y por consiguiente debe ser bastante grato hacer aplicaciones para facebook, eh visto tus aplicaciones y keria saber si solo usas ActionScrip? Tambien keria saber si por cada aplicacion k haces te cobra algo.. pork para usar aplicaciones facebook te pide k valides tu cuenta, ya sea con tu tarjeta de credito o con el numero celular, weno gracias.. Espero tu respuesta.

    Respuesta
  • el 21 Mayo, 2011 a las 9:55 am
    Permalink

    Hola Elvis,

    A veces uso actionscript, pero otras las hago sólo con PHP y HTML.

    Por cada aplicación que hago no me cobran nada. Los datos del celular o de la tarjeta de crédito son sólo para validar que eres un ser humano y no una máquina.

    Un saludo,

    Respuesta
  • el 21 Junio, 2011 a las 6:28 am
    Permalink

    hola! necesito hacerte una pregunta. Cree mi aplicacion en facebook con “eclipse”. Esta trata sobre una mision que se deba realizar antes del 2012 (supuesto fin del mundo) para esto solo se tiene que oprimir consultar y lanza una respuesta aleatoria, es bastante sinple, pero me gustaria que esa respuesta se publicara luego en el mura de la persona. Como puedo hacer eso? es posible que le heches un vistazo a la programacion de mi app y me ayudes a lograr eso? estaria muy agradecido. te dejo el link de la app para que la veas. muchas gracias

    http://tics100.villalon.cl/~felileiva/2012/parte1.php/

    Respuesta
  • el 9 Julio, 2011 a las 12:10 am
    Permalink

    Cuantos mensajes puedo publicar en los muros de mis amigos?..

    si quiero publicar en todos mis amigos… digamos unos 300 amigos…. se publican todos?…

    o hay un limite de publicaciones

    Respuesta
  • el 27 Julio, 2011 a las 8:53 am
    Permalink

    Hola Gabriel!! Komo le hago para publicar un link en mí muro de facebook en mí celular pero k salga komo si estuviera en una computadora
    (k pueda ver lo k publik desde mí celular) gracias

    Respuesta
  • el 23 Agosto, 2011 a las 7:20 pm
    Permalink

    le puse en el printt del catch que me imprimiera la variable $e de la esepcion y me marca este error:

    Error: CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

    Alguna idea?

    Respuesta
  • el 14 Diciembre, 2011 a las 12:34 am
    Permalink

    Hola, quisiera desde mi aplicacion enviar un correo al inbox dentro de facebook de varios usuarios teniendo claro el id del usuario como se hace eso ? es posible ?

    Respuesta
  • el 14 Diciembre, 2011 a las 12:35 am
    Permalink

    Hola, quisiera desde mi aplicacion enviar un correo al inbox dentro de facebook de varios usuarios teniendo claro el id del usuario como se hace eso ? es posibl e ?

    Respuesta
  • el 22 Junio, 2012 a las 12:08 pm
    Permalink

    Buenos días,

    Tengo una consulta por que ya no se que hacer,

    Tengo una app de facebook, que publica en el muro de los usuarios.

    pero mi problema es que cuando el usuario instala la app, y acepta los permisos,

    hago un direccionamiento a una nueva pestaña mostrando la información.

    El problema es que cuando el usuario vuelve a la pestaña de facebook, sigue la ventana popup de la aplicación solicitando que el usuario vuelva a instalar la app.

    el usuario ya tiene instalada la app, con que no debería de salir ese mensaje.

    por otra parte si el usuario vuelve a aceptar que la vuelva a instalar, sale un mensaje de que el usuario ya tiene instalada la app.

    me gustaría que si alguien me pudiera ayudar.

    Un saludo

    Respuesta

Deja un comentario

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

Sígueme