Introducción
Llevo un par de semanas trabajando con una excelente biblioteca para Python (Requests: HTTP for Humans), OAuth 2 y las API de Google, y aunque he tenido que dedicarle bastante tiempo, parece que poco a poco va dando sus frutos. Y es que quiero aprovechar al máximo las facilidades que proporcionan estas API para las distintas aplicaciones que llevo entre manos, desde Picapy hasta Google Tasks Indicator.
Hasta el momento, en Picapy, he estado utilizando GData como biblioteca para acceder a las imágenes. Sin embargo, al igual que sucede con Google-Contacts, esta se ha quedado en una versión anterior, con lo que he tenido que programar las herramientas necesarias prescindiendo de GData. Esto tiene la ventaja de que no es necesario esta dependencia, aunque he tenido que trabajar un poquito mas.
Scope-Contacts-Google
Uno de los aspectos que siempre me han preocupado mas, es mantener la seguridad del usuario de una determinada aplicación por encima de todo. Primero procuré guardar los datos facilitados por el usuario en el Anillo de claves de Gnome, pero aún así, el usuario queda en manos del buen hacer del desarrollador. Por esta razón, que fuera necesaria proporcionar el correo electrónico y la contraseña a una determinada aplicación, no es algo que sea nada seguro, debe ser el usuario, el que en todo momento tenga el poder. Así, mediante OAuth 2, conseguimos el objetivo, dado que en ningún momento guardamos los datos del usuario, y este en cualquier momento puede retirar el permiso a la aplicación. Una vez instalada la aplicación, tendrás que salir y volver a entrar en la sesión para que la Lente esté disponible, y al seleccionar la lente de contactos, verás la siguiente imagen:
Al hacer clic en el icono de configuración, verás el siguiente cuadro de diálogo, que ya debe ser conocido para ti de otras aplicaciones similares:
Una vez introducido tu correo electrónico de Google en el que tienes los contactos que quieres mostrar, y la contraseña, pulsas en el botón «Sign in», y verás el siguiente cuadro de diálogo, donde deberás conceder permiso a Scope-Contacts-Google para que pueda «gestionar» tus contactos. En realidad, en el punto actual de desarrollo en el que me encuentro, solo tienes la posibilidad de ver tus contactos, que era mi objetivo principal, de forma que rápidamente puedes encontrar el teléfono o correo electrónico de alguno de tus contactos
Otro de los aspectos que me ha llevado a actualizar Scope-Contacts-Google, es la presentación preliminar que pone a nuestra disposición Unity en esta última versión (Quantal Quetzal) y que ya puse en funcionamiento en «Las películas al tablero con Unity-Lens-Movie en Ubuntu«, y en «Scope-YouTube, Yavol, Quantal Quetzal y Previews«.
No me terminaba de convencer esta Lente, porque precisamente requerías de otra aplicación para consultar los datos del contacto que habías seleccionado. Sin embargo con esta última actualización, tienes la ventaja de que al hacer clic con el botón derecho del ratón en el contacto en cuestión, verás los datos mas relevantes del contacto, (siempre que los hayas puesto así en tu contacto de Google, claro):
Instalación
Para instalar tanto la lente como el ámbito (Lens/Scope), tienes que añadir el siguiente repositorio, actualizar y posteriormente instalar:
Ahora mismo solo está disponible para Quantal, pero en breve la prepararé para Precise Pangolin (por aquello de ser LTS). El problema con esta Lente, al igual que sucedió con la de las películas, es que hace uso de una biblioteca de Python (que he comentado en la introducción), y que no está disponible en los repositorios de Precise Pangolin para Python3, por esto tengo que hacer algunos cambios y dejarla en Python. Un poco de trabajo, adicional, que vamos a hacer.Conclusiones
Lo mas importante, y que me va a servir de punto de partida para el resto de aplicaciones, es haber conseguido hacer funcionar OAuth2 con Python3 y con las APIs de Google. Por supuesto detrás vendrán todas las aplicaciones, esto es así, porque proporciona una doble ventaja, por un lado, mayor seguridad al usuario, y por el otro, mas flexibilidad y potencia de las aplicaciones, porque me permite exprimir al máximo las APIs de Google, cosa que utilizando las bibliotecas existentes estoy limitado por el desarrollo que haya realizado el programador en cuestión.
Por otro lado, queda pendiente migrar el otro "ámbito" (scope) para el escritorio, pero esto tiene menos prioridad, antes van Picapy, Google-Tasks-Indicator, Calendar-Indicator y mas...
sudo add-apt-repository ppa:atarea/lenses – error (atareaO)
Hi Vladimir,
Thank you very much, I fixed the error.
Best regards
errata: se te han olvidado los «&&» entre comandos
Gracias por todo, esperando ese Mamehub – si al final te has puesto en contacto con ellos –
Todavía no me he puesto en contacto con ellos, últimamente voy con el tiempo muy justo. Lo tengo en mi lista de tareas pendientes.
hay que instalar el OAuth 2 tambien ? yo he instalado la lente y el scope en el 12.10 y no me aparece la ruedecita en el dash para hacer el login …. no se si es algo de mi configuracion o del scope . Cuando voy al Gnome-Contacts no me deja añadir una agenda online , solo la local , aunque no se si tiene algo que ver con tu lente . Saludos
Hola,
No es necesario añadir nada más, aunque deberás reiniciar la sesión. Eso se me ha pasado escribirlo. ¿no te ha dado ningún error?
no … no hay error , he reiniciado el ordenador directamente despues de instalarlo .
Te sale la lente y no te aparece nada.? Has probado a escribir algo?
si aparece en el dash , en el software center estan los dos instalados tanto el scope como la lente pero no aparece nada al intentar buscar algo . Intentare remover la cuenta de google de online accounts and volver a agregarla a ver si es por que la instale ya con la cuenta agregada ….
a mi me ocurre lo mismo, añado repositorio, actualizo, instalo lente y scope, reinicio sesion, pero en el lente no me aparece nada, y si busco algo tampoco.
Entiendo que tenéis Quantal Quetzal, claro. La verdad es que no se por donde atacar el problema
Si con quantal quetzal. Es la versión de 64 bits la que uso, podrá ser por eso?
Me pasa lo mismo,no logro que aparezca la aplicación para configurar el lens.
A mi tambien me pasa, se instala todo ok, pero no aparece ni rastro del programa. En el centro del software te dice que estan instalados los dos.
Quantal 64 bits.
Estoy muy desconcertado, no se donde puede estar el error. Este próximo fin de semana, haré una revisión a fondo.
Gracias a todos por vuestra colaboración y paciencia y un saludo
Yo también uso 64bits,a ver si el error va a estar sólo en la versión para 64
Hola,
El error es común para 32 y 64, creo que he dado con el.
Se ve que has dado con él,ya funciona perfecto.
Gracias crack!!
Gracias por confirmar que ya está corregido.
Un saludo
si señor … arreglado 🙂
Muchas gracias Nea, y un saludo
Interesante, tienes tu API en github?
No. Pero si te interesa, la subo en unos días.
Saludos
Hola Víctor Hugo Quiroz Castro ,
ya está la API en github: https://github.com/atareao/services
Un saludo
🙂 me has salvado la vida, estoy trabajando en una aplicación para Ubuntu, te mantendré informado cuando esté lista.
Saludos
Yo he conseguido que me aparezca la lente despues de reinstalar, autentifico con google, pero no me aparece ningun contacto, algun consejo? Como puedo «forzar» la reautentificacion?
Tienes que borrar el archivo «~/.config/unity-scope-contacts-google/token.
De esta manera podrás autentificar de nuevo. De cualquier forma si te sigue sin funcionar me dices, vemos que se puede hacer.
Gracias y un saludo
Por fin me salen los contactos, muchas gracias! Aunque me he dado cuenta de que no me aparecen todos, pero es super util !!!
Muy buena la herramienta!! Tengo un problemilla… en una de las cuentas de mi Ubuntu, enlazo tu herramienta con una cuenta de Google y va todo perfectamente. Sin embargo, en otra cuenta de Ubuntu del mismo PC, lo enlazo con una cuenta de Google que cuenta con doble autenticación (Google Authenticator) y no muestra los contactos… He intentado reconfigurarlo varias veces borrando el archivo «~/.config/unity-scope-contacts-google/token» pero sigue sucediendo lo mismo… ¿Puedes echarme una mano?
Any plans to update package for Saucy (13.10)?