Publicar en el muro con el PHP SDK

Una de las cosas más habituales en una aplicación es publicar contenido del usuario en su muro o en el de un amigo, así que para continuar trabajando con los métodos que nos provee el PHP SDK veremos como hacerlo. Para el caso de querer publicar en el muro de un amigo se debe reemplazar /me/feed por /IDAmigo/feed, no olvides que para que el código funcione tienes que autenticar el usuario y pedir el permiso extendido publish_stream.

<?php
$parametros=array('message' => 'Aprendiendo a desarrollar aplicaciones en Facebook',
				  'name' => 'BrianUR.info',
				  'caption' => 'Mi primer aplicacion en Facebook',
				  'link' => 'http://www.brianur.info',
				  'description' => 'Es genial',
				  'picture' => 'http://brianur.info/brianur.png',
				  'actions' => array(array('name' => 'Entra ya!',
                                      'link' => 'http://www.brianur.info')));
$facebook->api('/me/feed','post',$parametros);
?>

También puede interesarte:

Tag(s): , , , , , , , , , , ,

22 Comentarios para “Publicar en el muro con el PHP SDK”

  1. Como publico con el php-sdk en el perfil de mis amigos?

  2. bueno cambie me/feed con IDAmigo/feed pero me manda error
    o en idamigo tengo que poner una id de un amigo?

  3. Sí, hay que sacar el ID del amigo en especifico para que funcione.

  4. gracias, otra consulra lo que pasa es que he entrado en algunas aplicaciones la cual me envia publicaciones al muro de muchos amigos como puedo lograr eso?

  5. Básicamente es la repetición de ese mismo código tomando amigos aleatoriamente, en el anterior articulo sobre el PHP SDK escribí un ejemplo de algo parecido.

  6. Muchas gracias por compartir tu conocimiento, me ayudo bastante a hacer una pequeña aplicacion, saludos y espero que sigas con los tutoriales

  7. bueno lo que hice fue hacerme una cuenta nueva agregue mi ceunta verdare, en el codigo puse miid/feed

    la cual cuando entre a la aplicacion envio una publicacion al feed de mi cuenta real, pero cuando elimino mi cuenta real de mis amigos entro nuevamente a la aplicacion pero esta me manda error a que se deve eso gracias

  8. bueno brian no importa lo anterior

    pero me podrias desir como publicar el score automaticamente?

  9. ¿Cómo qué el score? no entiendo la pregunta, igual sea lo que sea para publicar automáticamente es pasarle los parámetros que uno quiera en el momento que suceda alguna acción por el usuario y ya.

  10. Como puedo hacer para que se publique solo una vez en el muro? pasa que cuando vuelvo a entrar en la aplicacion me vuelve a publicar en el muro, imagino que se deberia comprobar si el usuario ya tiene instalada la aplicacion o algo asi… puedes orientarme con eso… Saludos.-

  11. Intenta usando cookies/sesiones, así decides cada cuanto tiempo haga las publicaciones.

  12. Hola Brian, gracias por toda la info… me funciona barbaro, pero ahora quiero publicar en mi pagina de facebook, no en mi muro personal, sino en una page, tengo que ponerle el access token me imagino no? pero no encuentro de donde sacarlo, o sea de donde saco ese numero?

    Saludos!

  13. Sebastian para eso debes pedir el permiso “manage_pages”, puedes ver un poco sobre el tema de las paginas aquí http://developers.facebook.com/docs/reference/api/page/

  14. Hola Brian, primero que nada, gracias por la rapidez, jeje eh estado leyendo algo de eso si, el permiso ya lo pedi, y lo tengo con mi app de face, pero puedo publicar en el muro de la page, pero como user no como page, estube leyendo esto:

    This connection corresponds to the Page’s Wall. You can create a link, post or status message by issuing an HTTP POST request to the PAGE_ID/feed connection. To see more details please see links, posts, and status messages documentation.

    To impersonate the Page when posting to the wall (i.e. post as the Page, and not the current user), you must use a Page access_token with the manage_pages and publish_stream permissions, as described under Page Access Tokens above.

    el access token se que debo ponerlo en el array(‘message’ => pero no se de donde obtenerlo, se entiende? con el token del user funciona, pero no se de donde obtener el token de la page para que ella misma publique en su muro, se entiende?

    Gracias!

  15. Alguien me puede recomendar como hacerlo?

    Gracias!

  16. Voy a mirar un poco el asunto y cuando tenga algo lo publicaré ;)

  17. tienes que hacer una funcion que obtenga los access_token de la página donde quieres publicar a partir del identificador de página:
    getPage: function(idpag, callback) {
    FB.api(‘/me/accounts’, function(response) {

    accTk = false;
    for (var i = 0, l = response.data.length; i < l; i++) {
    var fbPages = response.data[i];

    if (fbPages.id == idpag) {
    accTk = fbPages.access_token;

    } else {
    // alert('No encontrado ' + fbPages.id);
    }
    }
    fb.accTk = accTk;

    callback(accTk);
    return (accTk);
    },
    { scope: 'read_stream,publish_stream'}

  18. Braian, ya descubri como hacerlo, asi que si quieres publicalo…

    lo que hay que modificar es lo siguiente:
    1. en el array message hay que agregar la siguiente linea: ‘access_token’ => ‘ACCESS TOKEN DE LA FAN PAGE’);
    2. en vez de /me/feed ponemos /ID_DE_FAN_PAGE/feed

    Ambas cosas las obtenemos en la siguiente url: https://graph.facebook.com/me/accounts?access_token=TU ACCESS TOKEN

    y de esta manera publicamos en nuestra fan page no como user sino como page, Saludos!

  19. Hola Brian, antes que nada gracias por tu aportación. Dos dudas.

    1.- Los mensajes que subo al muro tienen privacidad “solo yo” y tengo que ir al facebook y cambiarla a mano. Se puede hacer esto de manera automática por medio de un parámetro?

    2.- Cree una aplicación para poder subir fotos a facebook. Como no le marco el álbum donde lo debe guardar me crea un álbum con el nombre de la aplicación que cree. Todo funciona bien. En este caso el álbum creado es público (para mi esta bien que sea así) pero solo publica en el muro la primera vez que se sube una imagen, las demás imágenes las sube bien pero no las publica en el muro. Sabrías como “obligarlo” a que toda imagen subida pase por el muro?

    Muchas gracias y enhorabuena por la página.

  20. A la primera duda me respondo yo mismo. Se puede configurar la aplicación creada dentro de tu cuenta del facebook y marcar el nivel de privacidad de los comentarios subidos por dicha aplicación.

    Si consigo respuesta para mi segunda duda también la postearé aquí por si a alguien le surge el mismo problema.

    Saludos a tod@s,

  21. AYUDA!

    function facefaceimagen($mensaje, $imagenform) {

    // ID y Secret ID de la aplicación
    $appId = “**************************”;
    $secret = “***********************”;
    //Llamada al Facebook SDK
    include_once “config/facebook.php”;
    // Instanciamos el objeto Facebook
    $facebook = new Facebook(array(‘appId’ => $appId,
    ‘secret’ => $secret,
    ‘cookie’ => true));

    $parametros2=array(
    ‘source’ => ”.$imagenform.”,
    ‘message’ => ”.$mensaje.”,
    ‘access_token’ => ‘**************************************************’);

    $facebook->api(‘/283421131690091/photos’,'post’,$parametros2);

    }

    Pero me da el siguiente error: Fatal error: Uncaught OAuthException: (#324) Requires upload file thrown in /home/custus/public_html/config/base_facebook.php on line 1039

    Que estoy haciendo mal?

    Saludos.!

  22. fernando dice:

    Amigos excelente articulo, tengo 3 dudas.
    Primero: la pagina del facebook la tengo que crear en mi servidor, como enlazo lo que quiero mostrar en esa pagina y como añado una publicacion a la pagina.
    Segundo: para que me sirve el access token y como lo uso
    Tercero: Cuando realizo una publicacion en mi muro con el post el mensaje que envio es bastante extenso como coloco el leer mas.. :$

    gracias por su tiempo.. :D

Dejar un comentario