Tutorial: Gestión de archivos en la nube

Algunos de los servicios de almacenamiento de datos están listos para leer y almacenar de forma segura archivos e imágenes de su sistema Scriptcase. Esta opción también guarda un archivo local para aumentar su tiempo de lectura y, en caso de que se elimine el archivo local, ¡una copia estará funcionando en la nube!

Creando la aplicación de Control

1 – Cree una aplicación de tipo Control

2 – Debemos crear los campos necesarios para la carga de los archivos y la ruta del directorio a guardar. Campos: Documento, Directorio.

Creando los campos de configuración

3 – Crearemos un nuevo campo llamado “api_gateway” que permitirá la selección de la API utilizada. El campo será del tipo “Seleccionar” y crearemos una búsqueda manual. Las API disponibles serán: Dropbox, Amazon S3 y Google Drive.

4 – Cada uno de los tipos de API disponibles requiere información de configuración adicional. Crearemos los campos que deben llenar esta información.

Dropbox: apikey, apisecret, accesstoken

Amazon S3: apikey, apisecret, api_region, api_bucket

Google Drive: nombre de la aplicación, jsonoauth, authcode, tokencode

Nota 1: Los campos apikey y apisecret se utilizarán tanto para Dropbox como para Amazon S3.

Creando los métodos de control

Ahora debemos crear métodos de control que oculten campos innecesarios según el tipo de API que se seleccione, así como un método para enviar información de conexión a la API.

5 – El método ocultar_campo ocultará los campos de configuración al iniciar la aplicación.

ocultar_campo

Código ocultar_campo:

sc_field_display({jsonoauth}, off);
sc_field_display({authcode}, off);
sc_field_display({tokencode}, off);
sc_field_display({api_region}, off);
sc_field_display({api_bucket}, off);	
sc_field_display({appname}, off);	

La función ocultar_campo se llamará en el evento onScriptInit.

6 – El método mostrar_configuraciones mostrará los campos de acuerdo con la API seleccionada.

mostrar_configuraciones

Código mostrar_configuraciones:

if($gateway_value == 'dropbox'){
	sc_field_display({jsonoauth}, off);
	sc_field_display({authcode}, off);
	sc_field_display({tokencode}, off);
	sc_field_display({api_region}, off);
	sc_field_display({api_bucket}, off);
	sc_field_display({appname}, off);
	sc_field_display({apikey}, on);
	sc_field_display({apisecret}, on);
	sc_field_display({accesstoken}, on);
}					 

else if($gateway_value == 'drive'){
	sc_field_display({apikey}, off);
	sc_field_display({apisecret}, off);
	sc_field_display({accesstoken}, off);
	sc_field_display({api_region}, off);
	sc_field_display({api_bucket}, off);
	sc_field_display({appname}, on);
	sc_field_display({jsonoauth}, on);
	sc_field_display({authcode}, on);
	sc_field_display({tokencode}, on);
}					 

else if($gateway_value == 's3'){
	sc_field_display({jsonoauth}, off);
	sc_field_display({authcode}, off);
	sc_field_display({accesstoken}, off);
	sc_field_display({appname}, off);
	sc_field_display({apikey}, on);
	sc_field_display({apisecret}, on);
	sc_field_display({api_region}, on);
	sc_field_display({api_bucket}, on);
}					 

Nota: Use la opción para agregar parámetros a la función para agregar el parámetro gateway_value

La función mostrar_configuraciones se llamará en un evento ajax onChange en el campo api_gateway.

7 – El método cargar_archivo se utilizará para enviar la información de conexión con la API.

Código cargar_archivo:

if($field_gateway == 'dropbox'){
	
	sc_api_upload([

	'settings' => [
	'gateway'  => 'dropbox',
	'api_key' => {apikey},
	'api_secret' => {apisecret},
	'access_token' => {accesstoken},
	],
	'file' => {files},
	'parents' => {parent},

	]);
	
}
else if($field_gateway == 'drive'){
	
	sc_api_upload([

	'settings' => [
	'app_name' => {appname},
	'gateway'  => 'drive',
	'json_oauth' => {jsonoauth},
	'auth_code' => {authcode},
	'token_code' => {tokencode},
	],
	'file' => {files},
	'parents' => {parent},

	]);
}
else if($field_gateway == 's3'){
	
	sc_api_upload([

	'settings' => [
	'app_name' => 'scriptcase',
	'gateway'  => 's3',
	'api_key' => {apikey},
	'api_secret' => {apisecret},
	'region' => {api_region},
	'bucket' => {api_bucket},
	],
	'file' => {files},
	'parents' => {parent},

	]);
}

Nota: Use la opción para agregar parámetros a la función para agregar el parámetro gateway_value

El método cargar_archivo se llamará en el evento onValidateSuccess

8 – Guarde y ejecute la aplicación.

Compartir este tutorial

Tutoriales en la misma categoria

Columnas fijas en el resumen

En este ejemplo, veremos la opción de fijar columnas en el Resumen de las aplicaciones Grid. De es...

Responsive Calendar

In this tutorial we will create a responsive calendar application Calendar in Browser M...

Cómo enviar un correo electrónico con archivo adjunto

En este tutorial, envíe un correo electrónico con archivo adjunto utilizando la macro sc_mail_sen...

Cómo enviar un correo electrónico usando la macro sc_mail_send

En este tutorial, envíe un correo electrónico utilizando la macro sc_mail_send. 1- Crear una n...

Comentar este post