Ejemplo de uso de la acción Buscar archivo/carpeta del paquete Google Drive

Cree un bot que busca un archivo en Google Drive y lo crea si no se encuentra en la ruta especificada.

Antes de empezar

Imagine que quiere crear una hoja de Google si no existe en Google Drive. Puede usar la acción Google Drive > Buscar archivo/carpeta desde el paquete Google Drive para comprobar si un archivo ya existe en Google Drive. Si no existe, puede crear el archivo con la acción Crear libro de trabajo desde el paquete Google Sheets.

Este bot busca en Google Drive una hoja de Google. Si no existe en la ruta especificada, el bot crea una hoja de Google y copia en ella datos de un archivo CSV.

Procedimiento

  1. Crear un nuevo bot.
    1. En el panel izquierdo, haga clic en Automatización.
    2. Haga clic en Crear nuevo > Task Bot.
    3. En la ventana Crear Task Bot, introduzca el nombre del bot.
    4. Acepte la ubicación predeterminada de la carpeta: \Bots\
    5. Para cambiar la ruta de almacenamiento predeterminada de su bot, haga clic en Elegir y siga las indicaciones.
    6. Haga clic en Crear y editar.
  2. Abra el archivo CSV que contiene los datos que desea copiar a una hoja de Google.
    1. Desde el panel Acciones, busque y agregue la acción CSV/TXT > Abrir al Editor de bots.
    2. En Nombre de sesión, introduzca csvsession
    3. En Ruta del archivo, especifique la ruta del archivo CSV desde el que se deben copiar los datos.
    4. Si la tabla CSV tiene un encabezado, seleccione Contiene encabezado.
    5. Seleccione un delimitador según el utilizado en el archivo CSV.
    6. Guarde los cambios.
  3. Lea los datos de un archivo CSV y guárdelos en una variable de tabla de datos.
    1. Desde el panel Acciones , busque y agregue la acción CSV/TXT > Leer en el Editor de bots.
    2. En Nombre de sesión, introduzca csvsession
    3. En Asignar valor a la variable, haga clic en (x) y cree una variable denominada TableFromCSV.
    4. Guarde los cambios.
  4. Cierre el archivo CSV.
    1. Desde el panel Acciones, busque y agregue la acción CSV/TXT > Cerrar en el Editor de bots.
    2. En Nombre de sesión, introduzca csvsession
    3. Guarde los cambios.
  5. Conéctese a Google Drive.
    1. Desde el panel Acciones, busque y agregue la acción Google Drive > Conectar en el hacia Editor de bots.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth que ha configurado.
    3. En modo de autenticación OAuth2, seleccione Control Room administrada.
    4. Haga clic en Elegir y seleccione la conexión que ha configurado en la Control Room.
    5. Guarde los cambios.
  6. Conéctese a Google Sheets.
    1. Desde el panel Acciones, busque y agregue la acción Google Sheets > Conectar en el Editor de bots.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth que ha configurado.
    3. En Nombre de sesión, introduzca gsheetsession
    4. En modo de autenticación OAuth2, seleccione Control Room administrada.
    5. Haga clic en Elegir y seleccione la conexión que ha configurado en la Control Room.
    6. Guarde los cambios.
  7. Antes de crear una nueva hoja en Google Drive, verifique si el archivo que está intentando crear ya existe. Cree el archivo solo si no existe en la ruta especificada. Para hacer esto, use las acciones Intentar-Capturar.
    1. En el panel Acciones, busque y agregue la acción Manejador de errores > Intentar al Editor de bots.
    2. Guarde los cambios.
  8. Para comprobar si el archivo ya existe, utilice la acción Google Drive Buscar archivo/carpeta.
    1. En el panel Acciones, busque y agregue la acción Google Drive > Buscar archivo/carpeta dentro del bloque Intentar.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    3. En Buscar, haga clic en Archivo.
    4. En Ruta de la carpeta de origen, ingrese la carpeta de origen. Por ejemplo, en este escenario de muestra, el bot busca el archivo en la ruta aa-docs/spreadsheets.
    5. En Tipo de coincidencia, seleccione Coincidencias exactas.
    6. En Nombre de archivo/carpeta, ingrese contacts.
    7. En Devuelve la lista de archivos o carpetas, seleccione Diccionario.
    8. Haga clic en (x) y cree una variable de diccionario llamada FileFolderDictionary con el subtipo Cualquiera.
    9. Guarde los cambios.
  9. Si el archivo no existe, deberá crearlo.
    1. Desde el panel Acciones, busque y agregue la acción Google Sheets > Crear libro de trabajo dentro del bloque Capturar.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    3. En Nombre de sesión, introduzca gsheetsession.
    4. En Nombre de libro de trabajo, introduzca contacts.
    5. En Ruta del archivo, haga clic en Desde mi ubicación compartida e ingrese la ruta de la carpeta principal. Por ejemplo, en este ejemplo de escenario, el bot busca el archivo en la ruta aa-docs/spreadsheets .
    6. Guarde los cambios.
  10. Para abrir una hoja de cálculo desde Google Drive, necesita su ID de archivo o la ruta del archivo. Debido a que este bot crea el archivo dinámicamente, no tendrá la ruta del archivo antes de la ejecución del bot. Sin embargo, puede obtener el ID del archivo usando nuevamente la acción Google Drive Buscar archivo/carpeta.
    1. Desde el panel Acciones, busque y agregue la acción Google Drive > Buscar archivo/carpeta después de ejecutar los bloques Intentar-Capturar.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    3. En Buscar, haga clic en Archivo.
    4. En Ruta de la carpeta de origen, ingrese la carpeta de origen. Por ejemplo, el bot de muestra en este ejemplo busca el archivo en la ruta aa-docs/spreadsheets.
    5. En Tipo de coincidencia, seleccione Coincidencias exactas.
    6. En Nombre de archivo/carpeta, ingrese contacts.
    7. En Devuelve la lista de archivos o carpetas, haga clic en Diccionarioy seleccione la variable FileFolderDictionary.
      La API Buscar archivo/carpeta devuelve un diccionario con información sobre los archivos coincidentes. El diccionario contiene una clave llamada NumberOfFiles. Proporciona el recuento de archivos que coincidieron. El diccionario también contiene claves denominadas File1, File2, etc., según la cantidad de archivos coincidentes. Estas claves contienen información como nombres de archivos e ID de archivos en formato JSON. El siguiente es un ejemplo de un diccionario devuelto por la llamada API Buscar archivo/carpeta:
      {NumberOfFiles,1},{File1,{"fileName":"contacts","fileId":"171yBUzqH80ZW_KLEp23DwebzkCdDZgnGFWBzB6K9kco"}}
      Puede recuperar el ID del archivo al analizar la cadena JSON, que es el valor asociado con la clave File1.
    8. Guarde los cambios.
  11. Analice la cadena JSON asociada con la clave File1.
    1. Desde el panel Acciones, busque y agregue la acción Json > Iniciar sesión.
    2. En Fuente de datos, seleccione Texto e introduzca $FileFolderDictionary{File1}$.
    3. En sesión del objeto JSON, haga clic en Sesión local e ingrese jsonsession.
    4. Guarde los cambios.
  12. Recupere la ID del archivo del objeto JSON.
    1. Desde el panel Acciones, busque y agregue Json > Obtener el valor del nodo.
    2. En Clave o ruta del nodo JSON, introduzca fileId.
    3. En Nombre de sesión, introduzca jsonsession.
    4. En Guardar el resultado en una variable, haga clic en (x) y cree una variable denominada FileId.
    5. Guarde los cambios.
  13. Finalice la sesión JSON.
    1. Desde el panel Acciones, busque y agregue la acción Json > Finalizar sesión.
    2. En Nombre de sesión, introduzca jsonsession.
    3. Guarde los cambios.
  14. Con el ID del archivo recuperado, abra la hoja de cálculo creada en Google Drive.
    1. Desde el panel Acciones, busque y agregue la acción Google Sheets > Abrir hoja de cálculo.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    3. En Nombre de sesión, introduzca gsheetsession.
    4. En Abrir hoja, haga clic en Desde ID de hoja de cálculo e ingrese $FileId$.
    5. Guarde los cambios.
  15. Escriba la variable de la tabla de datos en la hoja de Google.
    1. Desde el panel Acciones, busque y agregue la acción Google Sheets > Escribir desde la tabla de datos.
    2. En Nombre de sesión, introduzca gsheetsession.
    3. En Opciones de hoja, haga clic en Hoja específica e introduzca Sheet1 o el nombre de la hoja de cálculo de destino en Nombre de la hoja.
    4. En Introducir variable de la tabla de datos, seleccione TableFromCSV.
    5. En Iniciar valor de celda, introduzca A1.
    6. Guarde los cambios.
  16. Desconecta Google Drive y Google Sheets.
    1. Desde el panel Acciones, busque y agregue la acción Google Drive > Desconectar.
    2. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    3. Guarde los cambios.
    4. Desde el panel Acciones, busque y agregue la acción Google Sheets > Desconectar.
    5. En Nombre de usuario, seleccione Cadena insegura e ingrese el ID de correo electrónico asociado con la conexión OAuth.
    6. En Nombre de sesión, introduzca gsheetsession.
    7. Guarde los cambios.
  17. Ejecute el bot.