miércoles 6 de agosto de 2008

Google, bookmarks, APIs y otras hierbas

Esta semana he estado dándome de h... con una idea a la que llevo dando vueltas desde hace unos días, acerca de los bookmarks de Google.

He utilizado Google APIs en otras ocasiones, pero mira por donde, el API que corresponde a sus bookmarks brilla por su ausencia. Por suerte me tropezé con este link donde encontré casi todo lo que buscaba. Digo casi todo porque necesitaba que Google me validara de forma desatendida, y para ello tenía que volver otra vez a sus dichosas APIs. No quise hacer un banco de pruebas exhaustivo, así que entre las posibilidades que me ofrecían, sólo probé el método que entiendo se adaptaba a lo mío, o sea AuthForInstalledApps.

Y de nuevo me acordé de ellos (de Google), porque dan a entender que es un método genérico para todos sus servicios. Pero no en el caso de los bookmarks (o bien soy tonto y no he sabido hacer que me funcione, que también es posible).

Por suerte para mí, John Marshall incorpora un mecanismo de validación contra Google en uno de los plugins para Firefox que utilizo habitualmente (GMarks). Así que fisgoneé un poco su código fuente, que para eso está.

Y una vez más le di la razón a Richard Stallman, cuando dice que las recetas de cocina deben ser públicas (o algo así).

En definitiva, aunque se lo tienen bastante calladito, Google es capaz de validarme vía https con la siguiente URL:

https://www.google.com/accounts/ServiceLoginAuth?Email=micuenta&Passwd=mipassword

No lo he probado, pero apuesto a que sirve para cualquiera de sus servicios.

Y para acabar con "traca i mocador" (com diem aquí a Catalunya) instalo httrack en la debi...

ladebi:~# aptitude install httrack

... creo este fichero...

ladebi:~# cat /root/websites/bookmarks.url
https://www.google.com/accounts/ServiceLoginAuth?Email=micuenta&Passwd=mipassword
https://www.google.com/bookmarks/?output=xml


... y regurgito el siguiente comando (ver actualización 2008/11/04 abajo)...

ladebi:~# httrack --list=/root/websites/bookmarks.url -O "/root/websites/bookmarks" --update -%v -d

...que me descarga un XML en

/root/websites/bookmarks/www.google.com/bookmarks/indexb42a.html

con todos mis Google bookmarks.

Puedo seguir adelante con mi idea.

ACTUALIZACION 2008-08-15: En lo que descarga veo que no están todos, los bookmarks , aunque sí descarga todo si en lugar de pedir https://www.google.com/bookmarks/?output=xml pido https://www.google.com/bookmarks/bookmarks.html. En este caso no es un XML ¿Motivo de esta limitación? Pues de momento no lo sé...

ACTUALIZACION 2008-08-17: Sigo sin conocer el motivo de la limitación, pero ya sé como rebasarla.

ACTUALIZACION 2008-11-04: La primera vez que descargas el contenido de una URL no hay que utilizar el modificador --update. De lo contrario no tira. Es decir, la primera descarga no es con este comando...

ladebi:~# httrack --list=/root/websites/bookmarks.url -O "/root/websites/bookmarks" --update -%v -d

... sino con este otro:

ladebi:~# httrack --list=/root/websites/bookmarks.url -O "/root/websites/bookmarks" -%v -d