Crear evento en calendario google desde Calc

Discute sobre la aplicación de hojas de cálculo
Responder
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Buenos días a todos, he estado buscando unos días por google y por el foro y no encuentro como hacer lo siguiente, a ver si alguien me puede echar una mano u orientarme.

En una hoja calc que uso para registrar datos de revisiones técnicas (adjunto ejemplo muy simplificado de la misma sin código) quiero que al pulsar un botón, en el caso de que el Campo RESULTADO sea Condicionado o Negativo me genere un evento en mi calendario de google en la fecha que ponga en el campo FECHA_PROX_REVISION con varias personas mas invitadas a dicho evento...


Es posible hacer eso de alguna manera....
Adjuntos
Ejemplo.ods
(10.61 KiB) Descargado 171 veces
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Crear evento en calendario google desde Calc

Mensaje por fornelasa »

No creo que ello sea posible debido a que son programas o interfaces diferentes.

Suponiendo que se pudiera, ¿de donde se tomarían los datos de los invitados?, no los muestras en el archivo.

A ver que dice la comunidad, considero no es posible así como lo indica la consulta.

Se puede crear un archivo de datos CSV en Calc para despues importar dicho archivo desde Google Calendar, pero dudo mucho que lo de los invitados pueda hacerse.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Parece que con Python es posible:
https://stackoverflow.com/questions/140 ... n#14065505

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Pues hasta tiene su cliente API en Python:
https://developers.google.com/google-ap ... art/python

y esta todo bien documentado:
https://developers.google.com/resources ... tml#insert

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Muchas gracias a los dos por vuestras respuestas.

En respuesta a lo que me indicas Fomelasa, los invitados al evento (en este caso supongo que serán sus correos electrónicos) tenia pensado ponernos a mano en el código ya que son solo tres personas. No obstante supongo que tampoco seria problema definir en tres celdas distintas de la tabla los correos de los invitados al evento y hacer referencia a los datos contenidos en ellas a la hora de generar la parte de invitados en el evento (Quizá sea mucho mejor hacerlo de esta ultima manera).

El tema de generar un csv e importarlo después lo estuve estudiando, pero como lo que quiero es implementar un sistema de avisos a varias personas lo desestime al no ver como hacerlo..


Por otra parte lo que me indica Mauricio se sale mucho de mis conocimientos actuales, solo tengo unos conocimientos muy básicos de Python y se un poco de Programación en Base y gracias a su libro.

De todas maneras me voy a poner a ello. A ver si con vuestra tutela lo consigo.

Gracias.

P.D: Me pondré con el easy macro de Mauricio a ver si me aclaro.
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Si lo trabajas sobre Linux, (según tu firma), todo se simplifica, por que tienes acceso al core de Python y por lo tanto a todas las librerías de terceros, como primera prueba, intenta ejecutar como root:

Código: Seleccionar todo

pip install --upgrade google-api-python-client
y nos cuentas...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Buenos días Mauricio. Te comento:
Antes de empezar tuve que instalar la compatibilidad de libreoffice con python y trastear un poco con ello.. (Por cierto, muchísimas gracias por los vídeos de easy-macro que tienes colgados en el foro... me vinieron genial ayer.)
Después hice lo siguiente:
1º) instale pip, que no lo tenia y lo actualice a su ultima versión
2º) instale el cliente de google sin mayores problemas.
3º) Siguiendo el hilo de lo indicado en https://developers.google.com/google-ap ... art/python cree en la carpeta de macros de python el quickstart.py que tras ejecutarlo en el terminal me da el error que te adjunto.
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python quickstart.py
/home/ruben/.local/lib/python2.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access /home/ruben/.credentials/calendar-python-quickstart.json: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Traceback (most recent call last):
File "quickstart.py", line 78, in <module>
main()
File "quickstart.py", line 59, in main
credentials = get_credentials()
File "quickstart.py", line 44, in get_credentials
flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
File "/home/ruben/.local/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/home/ruben/.local/lib/python2.7/site-packages/oauth2client/client.py", line 2135, in flow_from_clientsecrets
cache=cache)
File "/home/ruben/.local/lib/python2.7/site-packages/oauth2client/clientsecrets.py", line 165, in loadfile
return _loadfile(filename)
File "/home/ruben/.local/lib/python2.7/site-packages/oauth2client/clientsecrets.py", line 125, in _loadfile
exc.strerror, exc.errno)


Según veo:
- no puede acceder a calendar-python-quickstart.json, por que no existe.
- y otros errores de acceso a otros archivos, que no existirán tampoco.

Supongo que todos estos errores se deben a que no he activado el API de Google según se indica en el paso 1.... Estoy en lo correcto?


A lo largo de el día de hoy intentare activar el API de Google y volveré a la carga con ello.

Muchas Gracias.
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Hola...

Es correcto con el primer error, no existe el archivo...

¿Instalaste Python de forma manual?, lo pregunto por que veo que se ejecuta desde tu carpeta local y estas usando Python2.7, en teoría si usas LibreOffice 5 como dice tu firma, deberías estar usando Python3 desde el core de tu sistema.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Hola Mauricio. Efectivamente hace 5-6 años instale python manualmente para iniciarme en el (Cosa que hice muy livianamente...) y como dices trabajo con libreO 5...
Desinstalo Python y LibreOffice? y Vuelvo a instalar Libreoffice a ver si asi funcionadirectmente desde el Core?
O se puede cambiar esa configuración de alguna manera?
He verificado que tengo instalado:
Python en la version 2.7.12 y su ruta, y tambien Python 3.5.2 y su ruta.
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python -V
Python 2.7.12
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ which python
/usr/bin/python
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python3 -V
Python 3.5.2
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ which python3
/usr/bin/python3
Si en el terminal le especifico que use python3 en la ejecucion la cosa cambia un poco...me devuelve lo siguiente:
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python3 quickstart.py
Traceback (most recent call last):
File "quickstart.py", line 5, in <module>
from apiclient import discovery
ImportError: No module named 'apiclient'
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

tras eliminar la carpeta python 2.7 de /home/ruben/.local/lib/ ejecuto quickstart.py y me da el mismo error que si lo ejecuto desde python3 directamente:
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python quickstart.py
Traceback (most recent call last):
File "quickstart.py", line 5, in <module>
from apiclient import discovery
ImportError: No module named apiclient

Ejecuto en el terminal:
pip install --upgrade google-api-python-client
para qeu me instale el apiclient y me vuelve a crear la carpeta que he eliminado anteriormente dandome los mismos errores que el inicio.. todo en local.
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Ya veo... cuando haces...

Código: Seleccionar todo

ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python quickstart.py
realmente NO estas ejecutando el script desde "dentro" de LibreOffice... si no desde el python predeterminado de tu sistema que es Python2. Prueba a mover quickstart.py a cualquier otro directorio y al ejecutar deberías obtener el mismo resultado.

Vamos por pasos. Dado que se va a ejecutar desde LibreOffice, vamos a asegurarnos de la versión de Python que estas usando en LibreOffice. En el siguiente tema, publique un archivo que nos sirve para obtener esta información, descargalo, abrelo y pega la salida en este tema.
https://forum.openoffice.org/es/forum/v ... 50&t=11676

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Esta es la salida:
Sistema: Linux-4.4.0-93-generic-x86_64-with-Ubuntu-16.04-xenial
LibreOffice 5.1

Python: 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609]

/usr/lib/libreoffice/program
/home/ruben/Descargas
/usr/lib/python35.zip
/usr/lib/python3.5
/usr/lib/python3.5/plat-x86_64-linux-gnu
/usr/lib/python3.5/lib-dynload
/usr/local/lib/python3.5/dist-packages
/usr/lib/python3/dist-packages
/usr/lib/libreoffice/program
He probado a ejecutar quickstart.py desde otras carpetas con idéntico resultado tal como has dicho.
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Como puedes ver, desde "dentro" de LibreOffice, estas ejecutando Python3, (como debe ser, Py2 debe morir) y esta usando el core de tu sistema, lo cual es perfecto.

Siguiente paso. Asegurate de usar siempre el pip de Python3,

Código: Seleccionar todo

└──> pip -V
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
En tu sistema tal vez tengas que usar pip3, solo asegurate de que sea el de Python3 e instala la librería de Google.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Rdp.jodra
Mensajes: 12
Registrado: Dom Mar 02, 2014 8:34 am

Re: Crear evento en calendario google desde Calc

Mensaje por Rdp.jodra »

Esto me sale....
ruben@ruben-HP-Pavilion-Sleekbook-15:~$ pip -V
pip 9.0.1 from /home/ruben/.local/lib/python2.7/site-packages (python 2.7)
Tras instalar pip 3 y google-api-python-client ejecuto en terminal quickstart.py:
ruben@ruben-HP-Pavilion-Sleekbook-15:~/.config/libreoffice/4/user/Scripts/python$ python3 quickstart.py
/usr/local/lib/python3.5/dist-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access /home/ruben/.credentials/calendar-python-quickstart.json: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/oauth2client/clientsecrets.py", line 121, in _loadfile
with open(filename, 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'client_secret.json'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "quickstart.py", line 78, in <module>
main()
File "quickstart.py", line 59, in main
credentials = get_credentials()
File "quickstart.py", line 44, in get_credentials
flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
File "/usr/local/lib/python3.5/dist-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/oauth2client/client.py", line 2135, in flow_from_clientsecrets
cache=cache)
File "/usr/local/lib/python3.5/dist-packages/oauth2client/clientsecrets.py", line 165, in loadfile
return _loadfile(filename)
File "/usr/local/lib/python3.5/dist-packages/oauth2client/clientsecrets.py", line 125, in _loadfile
exc.strerror, exc.errno)
oauth2client.clientsecrets.InvalidClientSecretsError: ('Error opening file', 'client_secret.json', 'No such file or directory', 2)
Al hacer el paso 1 del python quickstart obtengo un archivo "Client_secret_un monton de numeros y letras.apps.googleusercontent.com.json que renombro a client.secret.json y que he movido a la carpeta de trabajo, en mi caso, /home/ruben/.config/libreoffice/4/user/Scripts/python.
abro terminal y al ejecutar python3 quickstart.py me abre el navegador accediendo a google para pedirme permisos de acceso a los calendarios.

Por fin lo he activado.... :bravo: :bravo: :bravo: :bravo:
Libreoffice 5 Ubuntu 16.04 y Bodhi 2.3
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Crear evento en calendario google desde Calc

Mensaje por mauricio »

Muy bien, ahora solo resta ver la documentación para conectarse de forma automática al calendario y publicar el evento, y claro, todo desde "dentro" de LibreOffice... en cuanto pueda le doy una mirada...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder