sábado, 7 de marzo de 2015

Ferl: Facebook con Perl



Ferl, Facebook con perl :D

He nombrado este miniproyecto "Ferl" Facebook con perl , iré actualizando el código agregando nuevas características apenas vaya teniendo un poquito de tiempo.


Es claro que día a día buscamos como automatizar o hacer mas fácil ciertas tareas que hacemos, o mas simple aun ¿porque no actualizar nuestro estado de Facebook desde nuestra linea de comandos?
¿Porque hacerlo? , porque podemos :D .

Esta demás decir que estas herramientas nos sirven para marketing online, pasar avisos o incluso ganar concursos =x (darkside) pero hoy solo veremos como mediante perl podemos actualizar nuestro estado mediante la graphAPI de Facebook ! 

¿Que módulos vamos a utilizar? ( hay quienes le gusta complicar todo, pero ¿porque no hacerlo simple )


  • URI
  • LWP::Simple

Vamos a ver que todo se basa en enviar peticiones a : https://graph.facebook.com y en la documentación veremos los parámetros disponibles y como se conforma la estructura de la peticion.

Como lo que nos interesa publicar, veremos que esto se hace de la siguiente manera:

Vamos a generar un POST para me/feed, con la variable "message" con el contenido que queremos que salga en nuestro muro, en otras palabras y mas simple hemos realizado la siguiente peticion:




POST graph.facebook.com
  /me/feed?
    message="Hello, World."&
    access_token={your-access-token}


Lo que finalmente se vera reflejado en nuestro muro, ya explicado esto vamos al codigo ! #perl


#!/usr/bin/perl

#Ferl, Facebook con Perl
#ShineeLabs
#contacto@xshinee.cl

use strict;
use URI;
use LWP::Simple;

my $access_token = 'Aqui va el token';

my $message = <STDIN>;
chop($mensaje);

conecta ('me/feed',  {
 access_token => $access_token,
 message      => $mensaje,
 method       => 'post'

});

exit 0 ;

sub conecta {
  my $urlbase = new URI ('https://graph.facebook.com' . shift );
  $urlbase -> query_form(shift);
  my $respuesta = get("$urlbase");

}



Como pueden ver en este ejemplo utilizamos la entrada estándar, pero basta un poquito de conocimiento en #perl para poder enviar mensajes de forma automatizada, o usar una lista de mensajes haciendo uso de el manejo de ficheros en perl, o abusar de algunos while & sleep para hacer que el mensaje se envié de forma automática y sincronizada.


¿Qué otros parámetros podemos utilizar? , revisen la Documentación de la grapAPI .


FIN 

exit;