SlideShare una empresa de Scribd logo
Conectando a Lazarus
con las API de Amazon S3
y Google Calendar
Josué Alvarado Cantillo
Acoplando a Lazarus con
Amazon S3
Para empezar con nuestro proyecto en
Lazarus, necesitaremos agregar al mismo el
paquete "pl_synapsepkg".
Empezar el proyecto
Empezaremos por crear una aplicación , a la
que seguidamente le agregaremos la unidad
"uS3Storage".
El código de esta unidad lo podemos
encontrar en la dirección :
http://pastebin.com/HMLR2a66
Librería uS3Storage
La unidad "uS3Storage" será la unidad más
importante en nuestro proyecto, en la misma se
encuentran las funciones para administrar los
buckets de la nube de Amazon.
Librería uS3Storage
En la unidad podemos encontrar las siguientes
funciones:
•Obtener la lista de Buckets.
•Crear un bucket.
•Descargar un archivo.
•Borrar un bucket.
Entre otras.
Autorización
Para poder acceder a los archivos en la nube
de Amazon necesitamos identificarnos, para
esto empezaremos la conexión dando nuestra
clave privada y pública.
Autorización
Como lo muestra la imagen escribimos la
clave privada de manera encriptada y luego la
desencriptamos con un simple algoritmo.
Hacemos lo mismo con la clave pública.
Autorización
-Seguidamente pasamos a crear la unidad con
la clave pública y privada como parámetros.
Lista de Buckets
Antes de llamar la función para obtener la lista
de buckets , añadiremos a la unidad unas
clases que nos serán útiles .
Lista de buckets
Con las clases anteriores agregadas podemos
declarar las variables con las que trabajaremos
Lista de Buckets bucket
Ya identificados y con las variables
declaradas podemos empezar a utilizar la
funciones del uS3Storage.
Obtendremos una lista de buckets,para esto
usaremos la función "ListBucketItems"
Lista de buckets
La respuesta al request se guardará en el
Memory Stream que habíamos declarado y
enviado como parámetro, en este caso
'theStream'.
Seguidamente pasamos a transformar el
Stream a un formato más entendible para
nosotros.
Lista de buckets
Crearemos un 'TXMLDocument' en el que
guardaremos en formato XML el contenido del
stream que previamente habíamos recibido
Lista de buckets
Si todo sale bien , podremos ver que el
documento vendrá con el siguiente formato.
Lista de buckets
Teniendo el xml , pasamos a recorrer cada
nodo para incluirlo a la lista
Lista de buckets
El algoritmo anterior nos llenara una lista con
el valor "key" de cada nodo que obtuvimos de
la respuesta del request a Amazon.
Otras Funciones
La librería nos ofrece otras funciones que son
son muy simples de entender y utilizar .
Estas funciones por lo general nos pedirán
como parametro el 'BucketName' y el
'ObjectName', que son equivalentes al nombre
de la carpeta y nombre del archivo
respectivamente.
Descargar Objeto
Para descargar un objeto solo tenemos que
mandar como parámetros el nombre del bucket
y el nombre del objeto, y guardar la descarga
en un 'TFileStream'.
Borrar
Borrar un Objeto:
-De igual manera que en 'Descargar', la función
'DeleteS3Object' recibirá como parámetros el
nombre del bucket y el del objeto al cual
eliminará.
Borrar un Bucket:
-El 'DeleteBucket' solo recibirá como parámetro
el nombre del bucket, y nos eliminará el bucket
(utilizar con mucho cuidado).
Crear y subir
Crear Bucket:
Para crear un nuevo bucket solo es necesario
enviar un string el cual será el nombre del
mismo; la función nos devolverá 'true' si tuvo
éxito al agregarlo.
Subir archivo:
En este caso enviaremos: el nombre del bucket
donde se alojará , el nombre del nuevo
objeto,un 'stream' con el nombre del archivo y
un booleano indicando si es binario.
Conectando a
Lazarus con el API
de Google Calendar
Josué Alvarado Cantillo
Autorización
Primeramente necesitamos enviar algunos
valores como el correo y la contraseña
incluidos en el "header" para identificarnos.
Una vez listo el "Header" con los valores
correctos necesitamos hacer un request, para
esto usaremos el componente 'TidHTTP'
Preparar Request
Es necesario indicar al componente algunas
de sus propiedades , como el 'IoHandler' y el
protocolo.
Enviar el Request
Ahora podemos hacer un 'Post' en el que
recibiremos un string con el id de autorización,
la que identificamos con el valor 'Auth'.
Enviar Request
Si la autorización no es correcta no daría el
siguiente error, que indica que la cuenta no es
válida
Agregar un evento
Si todo esta correcto obtendremos la clave de
autorización con la que podemos acceder a
nuestros calendarios.
Agregar un evento
Crearemos otro TidHTTp para enviar los los
datos del evento que queremos agregar.
Agregar un evento
Para poder agregar un evento en el calendario
necesitamos crear un stream con formato XML
con los valores que queremos agregar, las
variables y los valores que reciben se pueden
encontrar en la siguiente dirección:
https://developers.google.com/google-apps/calendar/v3/reference/events/insert
Agregar un evento
Agregar un evento
Transformamos el XML en stream para poder
enviarlo,
Agregar un evento
Si llegara a suceder algún problema nos
informaría de el con el siguiente error, que nos
indica que el XML tiene valores incorrectos

Más contenido relacionado

Similar a Conexion de lazarus con api de amazon s3 y google calendar

Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
SaulSalinasNeri
 
Formulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datosFormulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datosCursando Desarrollo Web
 
Bases de datos visual basic
Bases de datos visual basicBases de datos visual basic
Bases de datos visual basic
Alejandro Ferrer
 
Edwin montilla trabajo corte 3
Edwin montilla trabajo corte 3Edwin montilla trabajo corte 3
Edwin montilla trabajo corte 3
EdwinMontilla5
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
alex carreño
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
alex carreño
 
Portada
PortadaPortada
Jose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajoJose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajo
SilfredoValdez
 
Tutorial: Busquedas inteligentes con Azure Cognitive Search
Tutorial: Busquedas inteligentes con Azure Cognitive SearchTutorial: Busquedas inteligentes con Azure Cognitive Search
Tutorial: Busquedas inteligentes con Azure Cognitive Search
Luis Beltran
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Luis775803
 
Manual de usuario crud django
Manual de usuario crud djangoManual de usuario crud django
Manual de usuario crud django
Daniel Arevalo
 
Conexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María ParraConexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María Parra
Mariaphlb
 
Procedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosProcedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosmiguelangelvillelli
 
Nu soap
Nu soapNu soap
Cliente servidor tron_27oct
Cliente servidor tron_27octCliente servidor tron_27oct
Cliente servidor tron_27octdcanales2010
 
Cliente servidor tron
Cliente servidor tronCliente servidor tron
Cliente servidor trontallarinxD
 
Oracle Y C#
Oracle Y C#Oracle Y C#
Oracle Y C#
plsqlags
 
Dashboard cde pentaho
Dashboard cde pentahoDashboard cde pentaho
Dashboard cde pentaho
Gregory Nick Toledo Veliz
 

Similar a Conexion de lazarus con api de amazon s3 y google calendar (20)

Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
Seguridades asp.Net
Seguridades asp.NetSeguridades asp.Net
Seguridades asp.Net
 
Formulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datosFormulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datos
 
Bases de datos visual basic
Bases de datos visual basicBases de datos visual basic
Bases de datos visual basic
 
Edwin montilla trabajo corte 3
Edwin montilla trabajo corte 3Edwin montilla trabajo corte 3
Edwin montilla trabajo corte 3
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
 
Portada
PortadaPortada
Portada
 
Lab-03-PD2-SOAP
Lab-03-PD2-SOAPLab-03-PD2-SOAP
Lab-03-PD2-SOAP
 
Jose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajoJose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajo
 
Tutorial: Busquedas inteligentes con Azure Cognitive Search
Tutorial: Busquedas inteligentes con Azure Cognitive SearchTutorial: Busquedas inteligentes con Azure Cognitive Search
Tutorial: Busquedas inteligentes con Azure Cognitive Search
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
 
Manual de usuario crud django
Manual de usuario crud djangoManual de usuario crud django
Manual de usuario crud django
 
Conexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María ParraConexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María Parra
 
Procedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosProcedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datos
 
Nu soap
Nu soapNu soap
Nu soap
 
Cliente servidor tron_27oct
Cliente servidor tron_27octCliente servidor tron_27oct
Cliente servidor tron_27oct
 
Cliente servidor tron
Cliente servidor tronCliente servidor tron
Cliente servidor tron
 
Oracle Y C#
Oracle Y C#Oracle Y C#
Oracle Y C#
 
Dashboard cde pentaho
Dashboard cde pentahoDashboard cde pentaho
Dashboard cde pentaho
 

Último

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 

Último (20)

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 

Conexion de lazarus con api de amazon s3 y google calendar

  • 1. Conectando a Lazarus con las API de Amazon S3 y Google Calendar Josué Alvarado Cantillo
  • 2. Acoplando a Lazarus con Amazon S3 Para empezar con nuestro proyecto en Lazarus, necesitaremos agregar al mismo el paquete "pl_synapsepkg".
  • 3. Empezar el proyecto Empezaremos por crear una aplicación , a la que seguidamente le agregaremos la unidad "uS3Storage". El código de esta unidad lo podemos encontrar en la dirección : http://pastebin.com/HMLR2a66
  • 4. Librería uS3Storage La unidad "uS3Storage" será la unidad más importante en nuestro proyecto, en la misma se encuentran las funciones para administrar los buckets de la nube de Amazon.
  • 5. Librería uS3Storage En la unidad podemos encontrar las siguientes funciones: •Obtener la lista de Buckets. •Crear un bucket. •Descargar un archivo. •Borrar un bucket. Entre otras.
  • 6. Autorización Para poder acceder a los archivos en la nube de Amazon necesitamos identificarnos, para esto empezaremos la conexión dando nuestra clave privada y pública.
  • 7. Autorización Como lo muestra la imagen escribimos la clave privada de manera encriptada y luego la desencriptamos con un simple algoritmo. Hacemos lo mismo con la clave pública.
  • 8. Autorización -Seguidamente pasamos a crear la unidad con la clave pública y privada como parámetros.
  • 9. Lista de Buckets Antes de llamar la función para obtener la lista de buckets , añadiremos a la unidad unas clases que nos serán útiles .
  • 10. Lista de buckets Con las clases anteriores agregadas podemos declarar las variables con las que trabajaremos
  • 11. Lista de Buckets bucket Ya identificados y con las variables declaradas podemos empezar a utilizar la funciones del uS3Storage. Obtendremos una lista de buckets,para esto usaremos la función "ListBucketItems"
  • 12. Lista de buckets La respuesta al request se guardará en el Memory Stream que habíamos declarado y enviado como parámetro, en este caso 'theStream'. Seguidamente pasamos a transformar el Stream a un formato más entendible para nosotros.
  • 13. Lista de buckets Crearemos un 'TXMLDocument' en el que guardaremos en formato XML el contenido del stream que previamente habíamos recibido
  • 14. Lista de buckets Si todo sale bien , podremos ver que el documento vendrá con el siguiente formato.
  • 15. Lista de buckets Teniendo el xml , pasamos a recorrer cada nodo para incluirlo a la lista
  • 16. Lista de buckets El algoritmo anterior nos llenara una lista con el valor "key" de cada nodo que obtuvimos de la respuesta del request a Amazon.
  • 17. Otras Funciones La librería nos ofrece otras funciones que son son muy simples de entender y utilizar . Estas funciones por lo general nos pedirán como parametro el 'BucketName' y el 'ObjectName', que son equivalentes al nombre de la carpeta y nombre del archivo respectivamente.
  • 18. Descargar Objeto Para descargar un objeto solo tenemos que mandar como parámetros el nombre del bucket y el nombre del objeto, y guardar la descarga en un 'TFileStream'.
  • 19. Borrar Borrar un Objeto: -De igual manera que en 'Descargar', la función 'DeleteS3Object' recibirá como parámetros el nombre del bucket y el del objeto al cual eliminará. Borrar un Bucket: -El 'DeleteBucket' solo recibirá como parámetro el nombre del bucket, y nos eliminará el bucket (utilizar con mucho cuidado).
  • 20. Crear y subir Crear Bucket: Para crear un nuevo bucket solo es necesario enviar un string el cual será el nombre del mismo; la función nos devolverá 'true' si tuvo éxito al agregarlo. Subir archivo: En este caso enviaremos: el nombre del bucket donde se alojará , el nombre del nuevo objeto,un 'stream' con el nombre del archivo y un booleano indicando si es binario.
  • 21. Conectando a Lazarus con el API de Google Calendar Josué Alvarado Cantillo
  • 22. Autorización Primeramente necesitamos enviar algunos valores como el correo y la contraseña incluidos en el "header" para identificarnos.
  • 23. Una vez listo el "Header" con los valores correctos necesitamos hacer un request, para esto usaremos el componente 'TidHTTP'
  • 24. Preparar Request Es necesario indicar al componente algunas de sus propiedades , como el 'IoHandler' y el protocolo.
  • 25. Enviar el Request Ahora podemos hacer un 'Post' en el que recibiremos un string con el id de autorización, la que identificamos con el valor 'Auth'.
  • 26. Enviar Request Si la autorización no es correcta no daría el siguiente error, que indica que la cuenta no es válida
  • 27. Agregar un evento Si todo esta correcto obtendremos la clave de autorización con la que podemos acceder a nuestros calendarios.
  • 28. Agregar un evento Crearemos otro TidHTTp para enviar los los datos del evento que queremos agregar.
  • 29. Agregar un evento Para poder agregar un evento en el calendario necesitamos crear un stream con formato XML con los valores que queremos agregar, las variables y los valores que reciben se pueden encontrar en la siguiente dirección: https://developers.google.com/google-apps/calendar/v3/reference/events/insert
  • 31. Agregar un evento Transformamos el XML en stream para poder enviarlo,
  • 32. Agregar un evento Si llegara a suceder algún problema nos informaría de el con el siguiente error, que nos indica que el XML tiene valores incorrectos