AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones Drive
  • Presentación
  • Prerrequisito
  • ¿Cómo proceder?
  • Autenticación
  • Manipular archivos y directorios de unidades
  • Caso particular: Manipular archivos en Google Docs Editors
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Presentación
Existen varios servicios de almacenamiento en línea. WINDEV, WEBDEV y WINDEV Mobile permiten manipular fácilmente archivos en Dropbox, Google Drive y OneDrive. El código es el mismo independientemente del servicio de almacenamiento utilizado.
En Google Drive, también puede manipular archivos de Google Docs Editors.
Novedad versión 2025
AndroidiPhone/iPad Ahora, también es posible manipular archivos Dropbox.
Prerrequisito
Para manipular los archivos, debe configurar las unidades que desea utilizar. Para obtener más información, consulte Prerrequisitos para utilizar Google Drive, OneDrive y Dropbox.
¿Cómo proceder?

Autenticación

El uso de estos servicios de almacenamiento requiere una autenticación.
Es posible acceder a los diferentes servicios utilizando OAuth 2.0.
Para ello:
  1. Cree una nueva variable de tipo OAuth2Parameters.
  2. Defina las distintas propiedades de esta variable, incluyendo:
    • ClientID: ID de cliente obtenido al configurar el servicio de almacenamiento.
    • ClientSecret: Identificador secreto obtenido al configurar el servicio de almacenamiento.
      iPhone/iPad En iOS no existe el identificador secreto.
    • RedirectionURL: Especifique la URL deseada, por ejemplo "http://localhost:9000".
      iPhone/iPad En iOS, la URL de redireccionamiento corresponde al "Esquema de URL de iOS" proporcionado por Google durante el proceso de configuración. La URL de redireccionamiento debe tener el siguiente formato: "com.googleusercontent.apps.123-abc:/oauth".
  3. Cree una variable de tipo Drive, y utilice la función de conexión para el servicio deseado:
    dpDriveConnectCrea una conexión a Dropbox.
    GglDriveConnectCrea una conexión a Google Drive.
    oDriveConnectCrea una conexión a OneDrive.
Nota: También es posible pasar un token con un token de actualización. Esta solución evita volver a pedir los datos de acceso al usuario. La información que debe utilizarse se detalla en la documentación de cada función de conexión.
Ejemplos:
  • Autenticación en Google Drive mediante el protocolo OAuth 2.0:
    // Authenticating to Google Drive using the OAuth 2.0 protocol
    oOAuth2Param is OAuth2Parameters
    oOAuth2Param.ClientID = "client_id"
    oOAuth2Param.ClientSecret = "client_secret"
    oOAuth2Param.RedirectionURL = "http://localhost:9000/"
     
    MyDrive is gglDrive
    MyDrive = GglDriveConnect(oOAuth2Param)
  • Autenticación en Google Drive mediante un token:
    // Authenticating to Google Drive using a token (refresh token)
    oOAuth2Param is OAuth2Parameters
    oOAuth2Param is OAuth2Parameters
    oOAuth2Param.ClientID = "client_id"
    oOAuth2Param.ClientSecret = "client_secret"
    oOAuth2Param.RedirectionURL = "http://localhost:9000/"
    
    oOAuth2Token is AuthToken
    oOAuth2Token = AuthIdentify(oOAuth2Param)
     
    MyDrive is gglDrive
    MyDrive = GglDriveConnect(oOAuth2Token)

Manipular archivos y directorios de unidades

Las siguientes funciones permiten manipular archivos y directorios en una unidad. Todas estas funciones utilizan la variable Drive, que se especifica durante la autenticación.
  • Funciones de manipulación de archivos:
    DriveCopyFileCopia un archivo único de un directorio a otro en una unidad remota.
    DriveCreateFileCrea un archivo en la unidad remota.
    DriveDeleteFileElimina un archivo de una unidad remota (Drive).
    DriveDownloadFileDescarga un archivo de una unidad remota (Drive) al equipo del usuario.
    DriveListFileCrea una lista de los archivos de un directorio ubicado en un servicio de almacenamiento (Drive).
    DriveMoveFileMueve un archivo de un directorio a otro en una unidad remota.
    DriveRenameCambia el nombre de un archivo o directorio en una unidad remota.
    DriveUploadFileSube un archivo local a una unidad remota (Drive).

Caso particular: Manipular archivos en Google Docs Editors

Google Drive permite manipular archivos utilizando Google Docs Editors: Docs, Sheets, Slides, etc.
Estos archivos deben manipularse utilizando:
  • una variable de tipo gglDrive, que es el resultado de la función GglDriveConnect.
  • una variable de tipo GglFile, que permite manipular archivos en Google Docs Editors.
Existen dos funciones específicas para manipular estos archivos:
DriveDownloadGglFileDescarga un archivo de Google Docs Editors desde Google Drive en un formato compatible determinado.
DriveListFileGglCrea una lista de los archivos de Google Docs Editors (Docs, Sheets, etc.) que se encuentran en Google Drive.
La función DriveListFileGgl obtiene la lista de archivos de Google Docs Editors que se encuentran en la unidad. Esta función inicializa el tipo de variable GglFile. Este tipo de variable puede utilizarse con las distintas funciones de Drive.
Ejemplo:
oOAuth2Param is OAuth2Parameters
oOAuth2Param.ClientID = "client_id"
oOAuth2Param.ClientSecret = "client_secret"
oOAuth2Param.RedirectionURL = "http://localhost:9000/"

gglMyDrive is gglDrive
gglMyDrive = GglDriveConnect(oOAuth2Param) 

arrGglFile is array of GglFile
arrGglFile = DriveListFileGgl(gglMyDrive, "/", frRecursive)

FOR EACH Queue OF arrGglFile
	SWITCH Queue.MimeType
		CASE mimeTypeGglDocs: Queue.ExportMimeType = mimeTypeDOCX
		CASE mimeTypeGglSheets: Queue.ExportMimeType = mimeTypeXLSX
		OTHER CASE: Queue.ExportMimeType = mimeTypePDF
	END 
	let ResDownload = DriveDownloadGglFile(gglMyDrive, arrGglFile[1], "c:\MyDocuments")
	IF ErrorOccurred THEN
		// Error handling
		Trace ("An error has occurred")
		RETURN
	END
END
Versión mínima requerida
  • Versión 2024
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/04/2025

Señalar un error o enviar una sugerencia | Ayuda local