Probando GoogleCL
GoogleCL es una mini API para administrar los servicios de google tales como Blogger, Picasa, Youtube ydemas desde la linea de comandos.

¿Y por que quiero hacer eso?
Simple: por mera curiosidad de probar esta serie de scripts en pyhton, otra razon muy buena es que esto puede ser utilizado en un futuro con scripts propios para autimatizar ciertas cosas como subir un screenshot automaticamente, subir o editar documentos de google, administrar el calendario o mas. Incluso pueden crearse algunos clientes graficos en gtk o qt para estos servicios.
¿como lo instalo?
Descargamos ambas librerias gdata python library:
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.10.tar.gz
y GoogleCL:
wget http://googlecl.googlecode.com/files/googlecl-0.9.7.tar.gz
descompirmimos ambos archivos:
tar -xvzf googlecl-0.9.7.tar.gz
tar -xvzf gdata-2.0.10.tar.gz
Nos dirigimos al directorio creado e instalamos:
cd gdata-2.0.10
sudo python setup.py install
cd googlecl-0.9.5/
sudo python setup.py install
Listo! tenemos googlecl instalado en el equipo, la primera vez que utilizemos el servicio nos pedira el nombre de usuario que es nomredelacuenta”@gmail… y nos pedira que demos permiso a los servicios de google de utilizar la api, estos 2 pasos solo se realizan una vez.
¿y como se utliza?
Casa subseccion se basa en servicios y cada seccion lista las acciones que este servicio puede hacer. Cada ejemplo sigue este formato: “tarea:descripcion:ejemplo”. Note that the example omits the initial $ ./google
Blogger
- delete: Borrar posts del blog. google blogger delete –title “post de prueba 1*”
- list: Lista posts. google blogger list title,url-site
- post: Publica posts. google blogger post –tags “GoogleCL, prueba, impresionante” “Este es un nuevo post de la linea de comandos!” ~/blog/2010/may/*
- tag: Editar etiquetas de un post existente google tag –title “Dev post” –tags “Python, software”
Calendar
- add: Agregar un evento al calendario. google calendar add “Dinner party with George tomorrow at 6pm”
- delete: Borra un evento. google calendar delete –cal “GoogleCL dev cal” –title “Release.*”
- list: Lista eventosa determinada fecah o rango de fechas. google calendar list –date 2010-06-01,2010-06-30
- today: Lista eventos para hoy. google calendar today
Contacts
- add: Agrega contactos. google contacts add “Jim Raynor, jimmy@noreaster.com” contacts.csv
- delete: Borra contactos. google contacts delete –title Jerkface
- list: Lista contactos. google contacts list name,email –title “.*bob.*” > the_bobs.csv
Docs
- delete: Borra documentos. google docs delete –title “Evidence”
- list: Lista documentos. google docs list title,url-direct –delimiter “: “
- upload: Sube documentos a la web. google docs upload the_bobs.csv ~/work/docs_to_share/*
SOLO PARA gdata-python-client >= 1.3.0
- edit: Editar o ver un documento. google docs edit –title “Shopping list” –editor vim
- get: Descargar documentos. google docs get –title “Homework [0-9]*”
Picasa
- create: Crear un album. google picasa create –title “Instalacion gentoo” –tags Gentoo,Linux ~/photos/install/*
- delete: Borrar fotos o albums. google picasa delete –title “Fotos comprometedoras”
- get: Descargar fotos. google picasa get –title “Fotos comprometedoras” /ruta/al/directorio/
- list: Lista fotos o albums. google picasa list title,url-direct –query “A tag”
- post: Agrega fotos a un album. google picasa post –title “Summer Vacation 2008″ ~/old_photos/*.jpg
- tag: Etiquetar fotos. google picasa tag –title “Album I forgot to tag” –tags oops
Youtube
- delete: Borra videos. google youtube delete –title “.*”
- list: Lista los videos de tu cuenta de youtube. google youtube list
- post: Publicar un video. google youtube post –category Education –devtags GoogleCL killer_robots.avi
- tag: Etiqueta videos google youtube videos. tag -n “.*robot.*” –tags robot
Usabilidad
Este tipo de api puede ser utilizado para crear servicios de escritorio para administrar nuestros servicios de google, creando un forntendf con pygtk las posibilidades son muchas, aunque sin ir muy lehos este tipo de scripts unidos a utilerias del sistema pueden resultar muy practicos:
Subir un screenshot:
scrot 'screenshot.png' -e 'mv $f ~/Desktop/' && google picasa post --title "Screenshtos" ~/Desktop/screenshot.png
Subir un video:
recordmydesktop /home/lucain/video.ogv && google youtube post --category Linux --devtags Linux, escritorio /home(lucain/video.ogv
Y muchas otras cosas ams combinadas, solo es cuestion de imaginacion!




