La librería Goog_API es una herramienta de Python que permite interactuar con las distintas APIs de Google a través de métodos personalizados que simplifican las tareas más comunes que un script puede solicitar a las diversas APIs de Google. Los módulos incluidos en esta librería son específicos para las aplicaciones de Docs, Sheets, Drive, Gmail y Calendar.
La librería fue desarrollada por Hernán A. Teszkiewicz Novick, para el equipo dev. de Ch'aska y está disponible para su uso y distribución bajo LICENCIA MIT
La librería incluye los siguientes módulos:
- Goog_API_Drive_Metodos
- Goog_API_Sheets_Metodos
- Goog_API_Docs_Metodos
- Goog_API_gMail_Metodos
- Goog_API_Calendar_Metodos
Además, la librería incluye un método general, Goog_API_Build
, que permite autenticar la conexión con la API de Google. Este método utiliza los métodos propios de autenticación de cada módulo específico de la aplicación.
Antes de utilizar esta librería, Ud. debe realizar las siguientes configuraciones preliminares:
- Crear una cuenta de servicio en la Google Cloud Console;
- Crear un
PROYECTO
y habilitar lasAPIs
y losSCOPES
que desea utilizar; - Crear una
'Cuenta de Servicio'
y otorgarle acceso a los documentos con los que se desea operar. Ver más: Documentación de Cuentas de Servicio; y - Descargar el archivo de credenciales de su cuenta de
'Cuenta de Servicio'
en formatoJSON
; y
Nota: El método de autenticación que utilizan TODOS los módulos de esta librería es el método
service_account.Credentials.from_service_account_file()
. Un método propio de la API de Google que permite crear credenciales de autenticación a partir de un archivo JSON que contiene la información necesaria para la conexión a la API. Para poder utilizar correctamente esta librería Ud. deberá configurar la Cuenta de Servicio 1.
Ud. puede optar por instalar la librería completa o sólo alguno de sus módulos.
Tenga en cuenta que si Ud. decide instalar sólo algunos de sus módulos, puden surgir errores al intentar instalar las dependencias que el paquete necesita para funcionar. Se recomienda realizar previamente la instalación manual, aunque no sea estrictamente necesario.
Puede instalar la librería completa desde la web utilizando PIP
, según se indica a continuación:
- Ejecute el siguiente comando en la
terminal
:
pip install Goog_API
Puede instalar la librería completa a partir del paquete .tar.gz
utilizando PIP
, según se indica a continuación:
- Descargue el archivo
Goog_API-0.2.tar.gz
- Ejecute el siguiente comando en la
terminal
:
pip install /ruta/al/archivo/Goog_API-02.tar.gz
-
Antes de utilizar cualquiera de los módulos, es recomendable que Ud. instale las siguientes librerías de Python:
- google-api-python-client
- google-auth
- google-auth-oauthlib
- google-auth-httplib2
- requests
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client requests
- Luego, deberá instalar el módulo que desea agregando al comando
PIP
el sufijo#egg
para indicar el módulo correspondiente:
pip install /ruta/al/archivo/Goog_API.tar.gz#egg=Goog_API[Goog_API_Sheets_Metodos]
Ejemplo de instalación del Módulo
Sheets_Metodos
Goog_API_Build(archivo_credenciales,app,gMail_Build_Mail_envio=None)
El método
Goog_API_Build()
se utiliza para construir y devolver un objeto de clase service autenticado por la API de Google especificada, utilizando los métodos de autenticación propios de cada uno de los módulos específicos de la librería.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console. - STR
app
: Nombre de la aplicación de Google (Sheets, Docs, gMail, Calendar o Drive) para la que se desea crear el objeto de clase service. - STR
gMail_Build_Mail_envio
(opcional): Dirección de correo electrónico para la aplicación gMail. Se utilizará como dirección de envío predeterminada en el método gMail_Build(). Por defecto esNone
.
Devuelve:
- TDA
app_autenticada
: Objeto de clase service autenticado por la API de Google especificada. Este objeto se puede utilizar para interactuar con la API de Google correspondiente.
from Goog_API import Goog_API_Build
archivo_credenciales = 'ruta/al/archivo/creds.json'
app = 'Sheets'
sheet_autorizada = Goog_API_Build(archivo_credenciales,app)
Este módulo proporciona métodos para interactuar con la API de Google Drive y realizar operaciones como crear carpetas, documentos y hojas de cálculo en Google Drive.
Drive_Build(archivo_credenciales)
Método que construye y devuelve un objeto de servicio de Google Drive con credenciales autorizadas a partir del archivo de credenciales proporcionado.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console.
Devuelve:
- TDA
drive_autenticado
: objeto de servicio autorizado de Google Drive.
Drive_crear_carpeta(drive_autenticado, nombre:str, id_carpeta_padre:str=None)
Método que crea una carpeta en Google Drive y devuelve su ID único. Si se especifica un ID de carpeta principal, la carpeta se creará como una subcarpeta de aquella.
Recibe:
- TDA
drive_autenticado
: objeto de servicio autorizado de Google Drive, devuelto por el método Drive_Build() - STR
nombre
: nombre de la carpeta que se creará. - STR
id_carpeta_padre
(opcional) : el ID de la carpeta padre donde se creará la carpeta. Por defecto esNone
. - STR
compartir_gmail
(opcional) : cuenta de gMail que se desea sea 'editor' de la carpeta. Por defecto esNone
. - BOOL
es_publica
(opcional) : define si la carpeta es pública para la lectura. Por defecto esTrue
.
Devuelve:
- STR
carpeta_id
: el ID único de la carpeta creada.
Nota: Si Ud. no comparte la carpeta o no la crea como 'hija' de una carpeta con permisos previamente determinados, deberá mantenerla pública para la lectura, caso contrario solo será accesible para la 'cuenta de servicio' con la que fue creada.
Drive_crear_doc_en_carpeta(drive_autenticado, nombre:str, carpeta_id:str)
Método que crea un documento en una carpeta existente en Google Drive.
Recibe:
- TDA
drive_autenticado
: objeto de servicio autorizado de Google Drive, devuelto por el método Drive_Build() - STR
nombre
: nombre del documento que se creará. - STR
carpeta_id
: el ID de la carpeta padre donde se creará el documento.
Devuelve:
- STR
doc_id
: ID único del documento creado.
Drive_crear_sheet_en_carpeta(drive_autenticado, nombre:str, carpeta_id:str)
Método que crea una hoja de cálculo en una carpeta existente en Google Drive.
Recibe:
- TDA
drive_autenticado
: objeto de servicio autorizado de Google Drive, devuelto por el método Drive_Build() - STR
nombre
: nombre del documento que se creará. - STR
carpeta_id
: el ID de la carpeta padre donde se creará la hoja de cálculo.
Devuelve:
- STR
sheet_id
: ID único de la hoja de cálculo creada.
Drive_subir_archivo(drive_autenticado,archivo_a_subir:str,nombre_del_archivo:str,convertir_archivo:bool=True,carpeta_id:str=None)
Método que sube un archivo a Google Drive y devuelve su ID único. Si se especifica un ID de carpeta, el archivo se creará como un archivo en esa carpeta.
Recibe:
- TDA
drive_autenticado
: objeto de servicio autorizado de Google Drive, devuelto por el métodoDrive_Build()
- STR
archivo_a_subir
: ruta al archivo que se desea subir - STR
nombre_del_archivo
: nombre del archivo que se desea subir - STR
carpeta_id
(opcional) : el ID de la carpeta donde se subirá el archivo. Por defecto esNone
.
Devuelve:
- STR
ID_Archivo_subido
: el ID único del archivo subido.
Nota: Si no se especifica el ID de una carpeta, el archivo se subirá en la carpeta raíz de la cuenta de servicio utilizada para la autenticación.
# Importación del módulo personalizado
from Goog_API_Drive_Metodos import *
# Definición de la ruta del archivo de credenciales
archivo_credenciales = 'ruta/al/archivo/creds.json'
# Construcción del servicio de Google Drive
drive = Drive_Build(archivo_credenciales)
# Creación de una carpeta en Google Drive
nombre_carpeta = 'Ejemplo Carpeta'
carpeta_id = Drive_crear_carpeta(drive, nombre_carpeta)
# Creación de un documento en la carpeta creada anteriormente
nombre_documento = 'Ejemplo Documento'
doc_id = Drive_crear_doc_en_carpeta(drive, nombre_documento, carpeta_id)
# Creación de una hoja de cálculo en la carpeta creada anteriormente
nombre_sheet = 'Ejemplo Sheet'
sheet_id = Drive_crear_sheet_en_carpeta(drive, nombre_sheet, carpeta_id)
# Impresión de los IDs de la carpeta, documento y hoja de cálculo creados
print(f'La carpeta "{nombre_carpeta}" fue creada con el ID "{carpeta_id}"')
print(f'El documento "{nombre_documento}" fue creado con el ID "{doc_id}"')
print(f'La hoja de cálculo "{nombre_sheet}" fue creada con el ID "{sheet_id}"')
Este módulo proporciona métodos de lectura, escritura y eliminación para interactuar con la API de Google Sheets en Python.
Sheets_Build
. Método para autenticar frente a la API.Sheets_Crear
. Método para crear hojas de cálculo.Sheets_Leer
. Método para leer valores de celdas/rangos de hojas de cálculoSheets_Escribir
. Método escribir valores a celdas/rangos de hojas de cálculoSheets_Borrar
. Método para borrar valores de celdas/rangos de hojas de cálculo
Sheets_Build(archivo_credenciales)
Método que realiza la autenticación en la API de Sheets de Google utilizando el archivo de credenciales en formato JSON de la Cuenta de Servicio habilitada.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console.
Devuelve:
- TDA
sheet_autorizada
: Objeto de clase 'service.spreadsheets'. representa la conexión autorizada con la API de Sheets de Google.
Sheets_Crear(sheet_autorizada: service, titulo_nueva_hoja: str)
Método que crea una nueva hoja de cálculo y devuelve su ID único identificador.
Nota: Este método crea una hoja de cálculo en la carpeta raiz 'Mi Unidad' de la cuenta en la que fue autorizado. Si Ud. desea crear la hoja de cálculo en una carpeta específica, deberá usar en su lugar el método
Drive_crear_sheet_en_carpeta()
del móduloDrive_Metodos
de esta misma librería.
Recibe:
- TDA
sheet_autorizada
: Objeto "service" previamente construido con el métodoSheets_Build()
. - STR
titulo_nueva_hoja
: Título deseado para la nueva hoja.
Devuelve:
- STR
sheet_id
: ID único identificador de la nueva hoja creada. DevuelveNone
en caso de error.
Sheets_Leer(sheet_autorizada, sheet_id, rango_celdas)
Método que devuelve una lista que contiene los valores para cada celda del rango especificado en la hoja de cálculo con el ID proporcionado.
Recibe:
- TDA
sheet_autorizada
: Objeto devuelto por el métodoSheets_Build()
. - STR
sheet_id
: ID único de la hoja de cálculo sobre la cual se desea operar. - STR
rango_celdas
: Rango de celdas sobre el cual se desea operar.
Devuelve:
- LISTA
valores
: Lista que contiene los valores para cada celda del rango especificado. DevolveráFALSE
si el resultado de la lectura fuera una lista vacía.
Sheets_Escribir(sheet_autorizada, sheet_id, rango_celdas, data_a_escribir, modo="Actualizar")
Método que escribe los datos proporcionados en el rango de celdas especificado en la hoja de cálculo con el ID proporcionado. El modo de escritura puede ser "Actualizar" o "Agregar".
Recibe:
- TDA
sheet_autorizada
: Objeto devuelto por el métodoSheets_Build()
. - STR
sheet_id
: ID único de la hoja de cálculo sobre la cual se desea operar. - STR
rango_celdas
: Rango de celdas sobre el cual se desea operar. - LISTA
data_a_escribir
: Lista que contiene los datos que se escribirán en la hoja de cálculo. - STR
modo
: Modo de escritura,"Actualizar"
para sobrescribir los valores existentes en el rango o celda deseados o"Agregar"
para agregar valores nuevos, en las filas vacías inmeditamente siiguientes al rango declarado.
Devuelve:
- DICT
request
: diccionario con la información de la respuesta del servidor de la API de Sheets a la solicitud de escritura.
Sheets_Borrar(sheet_autorizada, sheet_id, rango_celdas)
Método que borra los valores de las celdas dentro del rango especificado en la hoja de cálculo con el ID proporcionado.
Recibe:
- TDA
sheet_autorizada
: Objeto devuelto por el métodoSheets_Build()
. - STR
sheet_id
: ID único de la hoja de cálculo sobre la cual se desea operar. - STR
rango_celdas
: Rango de celdas sobre el cual se desea operar.
Devuelve:
- DICT
request
: diccionario con la información de la respuesta del servidor de la API de Sheets a la solicitud de borrado.
from .Goog_API_Sheets_Metodos import Sheets_Build,Sheets_Crear,Sheets_Escribir,Sheets_Leer
# Autenticar y autorizar el cliente de Sheets
sheet_autorizada = Sheets_Build("ruta/al/archivo_credenciales/creds.json")
# Crear la hoja de cálculo
sheet_id = Sheets_Crear(sheet_autorizada,"Nueva_Hoja_de_Calculo")
# Crear una lista con datos a escribir
data_a_escribir=[
["Empleados","Salario"],
["Juan",150000],
["José",285000],
["Homero",372000]
]
#Escribir data a la hoja, a partir de la celda A1 de la Hoja 1.
Sheets_Escribir(sheet_autorizada, sheet_id,"'Hoja 1'!A1", data_a_escribir, modo="Actualizar")
#Leer y printear la data que se escribrió en el rango A1:B4 de la Hoja 1.
tabla_salarios = Sheets_Leer(sheet_autorizada, sheet_id,"'Hoja 1'!A1:B4")
print(tabla_salarios)
Este módulo proporciona métodos para interactuar con la API de Google Docs.
Docs_Build(archivo_credenciales)
Método que realiza la autenticación en la API de Docs de Google utilizando el archivo de credenciales en formato JSON de la Cuenta de Servicio habilitada.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console.
Devuelve:
- TDA
doc_autorizado
: Objeto de clase 'service.documents'. representa la conexión autorizada con la API de Docs de Google.
Docs_Crear(doc_autorizado, titulo_nuevo_doc)
Método que crea un nuevo documento de Google Docs y devuelve el ID único identificador del documento creado.
Nota: Este método crea un documento en la carpeta raiz 'Mi Unidad' de la cuenta en la que fue autorizado. Si Ud. desea crear el documento en una carpeta específica, deberá usar en su lugar el método
Drive_crear_doc_en_carpeta()
del móduloDrive_Metodos
de esta misma librería.
Recibe:
- TDA
doc_autorizado
: Objeto "service" previamente construido con el métodoDocs_Build()
. - STR
titulo_nuevo_doc
: Título que se desea dar al nuevo documento.
Devuelve:
- STR
doc_id
: ID único identificador del documento creado. Devuelve None en caso de error.
Docs_Escribir(doc_autorizado, doc_id, texto_a_escribir)
Método que agrega texto a un documento de Google Docs.
Recibe
- TDA
doc_autorizado
: Objeto de clase 'service' autenticado por la API. - STR
doc_id
: ID único identificador del documento. - STR
texto_a_escribir
: Texto que desea agregar al documento.
Devuelve
- DICT
response
: Respuesta de la API a la solicitud batchUpdate. Devuelve None en caso de error.
Docs_Leer(doc_autorizado, doc_id)
Método que lee texto de un documento de Google Docs.
Recibe
- TDA
doc_autorizado
: Objeto de clase 'service' autenticado por la API. - STR
doc_id
: ID único identificador del documento.
Devuelve
- STR
texto_contenido
: contenido del documento. Devuelve None en caso de error.
from Goog_API_Docs_Metodos import *
# Archivo de credenciales de la cuenta de serivio
archivo_credenciales = 'ruta/al/archivo/creds.json'
# Construir el 'service' con el método Docs_Build
doc_autorizado = Docs_Build(archivo_credenciales)
# Crear un nuevo documento en blanco
titulo_nuevo_doc = 'Nuevo documento de prueba'
doc_id = Docs_Crear(doc_autorizado, titulo_nuevo_doc)
# Escribir en el documento recién creado
texto_a_escribir = 'Este texto de prueba fue creado con la librería Goog_API de Python'
Docs_Escribir(doc_autorizado, doc_id, texto_a_escribir)
# Imprimir el texto del documento.
print(Docs_Leer(doc_autorizado, doc_id))
Este módulo contiene una serie de métodos para crear correos electrónicos y enviarlos con la API de Gmail de Google.
gMail_Build(archivo_credenciales,mail_envio)
Método que crea una instancia de la API de Gmail de Google y devuelve un objeto autorizado para enviar correos electrónicos desde la cuenta especificada.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console. - STR
mail_envio
: Correo electrónico del usuario que se desea figure como remitente.
Devuelve:
- TDA
gmail_autorizado
: Objeto de clase 'service' que representa la conexión autorizada con la API de Gmail de Google.
Crear_Correo(mail_envio, mail_destinatario, asunto, cuerpo)
Método que crea y devuelve un objeto 'EmailMessage' con los campos especificados.
Recibe:
- STR
mail_envio
: Dirección de correo electrónico que se utilizará como remitente. - STR
mail_destinatario
: Dirección de correo electrónico del destinatario. - STR
asunto
: El asunto del correo electrónico. - STR
cuerpo
: El cuerpo del correo electrónico.
Devuelve:
- TDA
mensaje
: Un objeto 'EmailMessage' con los campos especificados.
Anadir_Adjunto(mensaje, ruta_adjunto)
Método que agrega un archivo adjunto al objeto EmailMessage especificado.
Recibe:
- TDA
mensaje
: Un objeto 'EmailMessage' al cual se adjuntará el archivo especidicado - STR
ruta_adjunto
: Ruta del archivo adjunto a agregar.
Devuelve:
- TDA
mensaje
: El objeto 'EmailMessage' con el archivo adjunto
Crear_Correo_JSON(archivo_correo, mail_envio)
Método que crea y devuelve un objeto 'EmailMessage' a partir de un archivo JSON que contiene los campos del correo electrónico.
Recibe:
- STR
archivo_correo
: Ruta al archivo JSON que contiene los campos del correo electrónico. - STR
mail_envio
: Dirección de correo electrónico que se utilizará como remitente.
Devuelve:
- TDA
mensaje
: Un objeto 'EmailMessage' con los campos especificados.
{
"Destinatario":"correo@dominio.com",
"Asunto":"Prueba Mail Automatico v5",
"Mensaje":"Este es un mail de prueba enviado automaticamente, debiera incluir el archivo 'hola.txt' y 'mundo.jpg'",
"Adjuntos":["ruta/alArchivo/hola.txt","ruta/alArchivo/mundo.jpg"]
}
Encriptar_Correo(mensaje)
Método que recibe como entrada un mensaje de correo electrónico en formato EmailMessage, lo encripta usando el algoritmo base64 como se indica en la documentación de la API de Gmail, y devuelve el mensaje encriptado en un diccionario con una clave raw.
Recibe:
- TDA
mensaje
: mensaje de correo electrónico en formato 'EmailMessage'.
Devuelve:
- DICT
mensaje_64
: diccionario que contiene el mensaje de correo electrónico encriptado, con la clave raw.
gMail_Enviar(gmail_autorizado, mensaje_64)
Método que envía el mensaje de correo electrónico al destinatario correspondiente.
Recibe:
- TDA
gmail_autorizado
: Objeto de clase 'service' que representa la conexión autorizada con la API de Gmail de Google. - DICT
mensaje_64
: diccionario que contiene el mensaje de correo electrónico encriptado, con la clave raw.
Devuelve:
- DICT
enviar_mensaje
: diccionario con la información de la respuesta del servidor de la API gMAil a la solicitud de envío del mensaje enviado.
from Goog_API_gMail_Metodos import gMail_Build,Crear_Correo,Anadir_Adjunto,Encriptar_Correo,gMail_Enviar
# Autenticar y autorizar el cliente de Gmail
gmail_autorizado = gMail_Build("ruta/al/archivo_credenciales/creds.json", "remitente@dominio.com")
# Crear el mensaje de correo electrónico
mensaje = Crear_Correo("remitente@dominio.com", "mail@destinatario.com", "Mail de Prueba", "Este es un mail de prueba generado automáticamente")
# Adjuntar archivo al mensaje
mensaje_con_adj = Anadir_Adjuntos(mensaje,"ruta/al/archivo/holaMundo.txt")
# Encriptar el mensaje de correo electrónico
mensaje_encriptado = Encriptar_Correo(mensaje_con_adj)
# Enviar el mensaje de correo electrónico
enviar_mensaje = gMail_Enviar(gmail_autorizado, mensaje_encriptado)
Este módulo proporciona métodospara interactuar con la API de Google Calendar y realizar operaciones como crear un nuevo calendario o un nuevo evento en un calendario.
Calendar_Build(archivo_credenciales)
Método que construye y retorna un objeto 'servie'->calendar autorizado para realizar operaciones en la API de Google Calendar. Para ello se utiliza el archivo de credenciales (JSON) descargado de la Google Cloud Console.
Recibe:
- STR
archivo_credenciales
: Ruta al archivo de credenciales [JSON] descargado de la Google Cloud Console. Devuelve: - TDA
calendar_autorizado
: Objeto de clase 'service' que representa la conexión autorizada con la API de Calendar de Google.
Calendar_Crear(calendar_autorizado,Titulo_del_Calendario,TZ="America/Argentina/Buenos_Aires")
Método que crea un nuevo calendario en la cuenta de Google Calendarautenticada, y devuelve su identificador.
Recibe:
- TDA
calendar_autorizado
: Objeto de clase 'service' que representa la conexión autorizada con la API de Calendar de Google. - STR
Titulo_del_Calendario
: Título que se le dará al calendario.
Devuelve:
- STR
CALENDAR_ID
: ID único de identificación del calendario creado.
Crear_Evento(Titulo, Descripcion, Fecha_Inicio, Fecha_Fin)
Método que crea y retorna un diccionario con los datos necesarios para crear un nuevo evento en un calendario de Google.
Recibe:
- STR
Titulo
: el título del evento. - STR
Descripción
: la descripción del evento. - STR
Fecha_Inicio
: la fecha y hora de inicio del evento en formato ISO 8601. - STR
Fecha_Fin
: la fecha y hora de finalización del evento en formato ISO 8601.
Devuelve:
- DICT
Evento
: Un diccionario con los datos del evento.
Calendar_Nuevo_Evento(calendar_autorizado, evento, CALENDAR_ID)
Método que crea un nuevo evento en un calendario de Google utilizando el objeto calendar_autorizado y los datos del evento proporcionados en un diccionario.
Recibe:
- TDA
calendar_autorizado
: Objeto de clase 'service' que representa la conexión autorizada con la API de Calendar de Google. Creado con el métodoCalendar_Build()
. - DICT
Evento
: En diccionario con los datos del evento creado con el métodoCrear_Evento()
. - STR
CALENDAR_ID
: el ID del calendario en el que se creará el evento.
Devuelve:
- DICT
evento_creado
: diccionario con la información de la respuesta del servidor de la API de Calendar a la solicitud de creación del evento.
Calcular_Fechas(ano, mes, dia, hora_inicio, duracion)
Método para calcular la fecha y hora de inicio y fin de un evento en formato ISO 8601 requerido por la API de Google Calendar.
Recibe:
- INT
ano
: el año de la fecha de inicio del evento. - INT
mes
: el mes de la fecha de inicio del evento. - INT
dia
: el día de la fecha de inicio del evento. - STR
hora_inicio
: la hora de inicio del evento en formato HH:MM. - STR
duracion
: la duración del evento en formato HH:MM.
Devuelve:
- STR
Fecha_Inicio
: Fecha de inicio del evento en formato ISO 8601. - STR
Fecha_Fin
: Fecha de finalización del evento en formato ISO 8601.
from Goog_API_Calendar_Metodos import Calendar_Build,Crear_Calendario,Crear_Evento,Calendar_Nuevo_Evento,Calcular_Fechas
#Autorización frente a la API
calendar_autorizado = Calendar_Build('ruta/al/archivo/credenciales.json')
#Cración de nuevo calendario y recupero de ID.
CALENDAR_ID = Crear_Calendario(calendar_autorizado,"Calendario de Prueba")
#Cálculo de fechas del evento
Fecha = Calcular_Fechas(2023,4,1,"17:30","01:30")[0]
Fecha_i = Fecha[0]
Fecha_f = Fecha[1]
#Formación del diccionario con la información del evento
evento = Crear_Evento('Reunión de Prueba', 'Descripción de la Reunión de Prueba',Fecha_i, Fecha_f)
#Creación del evento en el calendario
Calendar_Nuevo_Evento(calendar_autorizado, evento, CALENDAR_ID)
Footnotes
-
Pasos a seguir para crear su
'Cuenta de Servicio'
:- Acceder a la Consola de Google Cloud: Acceda a la Consola de Google Cloud en https://console.cloud.google.com/ e inicie sesión con su cuenta de Google.
- Crear un nuevo proyecto: Si aún no tiene un proyecto, deberá creaar uno nuevo haciendo clic en "Seleccionar Proyecto" en la parte superior de la pantalla y luego haciendo clic en "Nuevo proyecto".
- Habilitar la API que desea utilizar: Haga clic en "Explorar y habilitar APIs" en la parte superior de la pantalla y busque la API que deseas utilizar. Haga clic en ella y luego haga clic en "Habilitar".
- Crear una
'Cuenta de Servicio'
: En el panel de navegación de la izquierda, haga clic en "IAM y administración" y luego en "Cuentas de servicio". Haga clic en "Crear cuenta de servicio" y proporcione un nombre y una descripción para la cuenta de servicio. Haga clic en "Crear". - Configurar los permisos: Una vez creada la cuenta de servicio, seleccione la cuenta de servicio en la lista y haga clic en "Agregar rol" para agregar permisos. Elija los roles que desea otorgar a la cuenta de servicio y haga clic en "Guardar".
- Generar la clave privada: Haga clic en la cuenta de servicio que acaba de crear y luego vaya en la pestaña "Claves". Haga clic en "Agregar clave" y elija "Crear nueva clave". Elija "JSON" como tipo de clave y créela. Se descargará un archivo JSON con las credenciales de la cuenta de servicio. >>Ese archivo JSON es el que usarán todos los métodos _Build() de esta librería para autenticarse frente a la API
- Compartir directorios y archivos con la
'Cuenta de Servicio'
: Si Ud. desea operar sobre directorios o archivos previamente existentes, es decir que no fueran creados por la cuenta de servicio utilizando los métodos de esta librería, Ud. deberá otorgar acceso de edición a la cuenta de servicio para cada uno de esos directorios.