Esta función está disponible en la tarifa máxima.

Contenido

  • Cómo preparar una hoja de Google
  • Cómo escribir una consulta JSON
  • Cómo escribir filas en columnas específicas
  • Cómo escribir datos en celdas específicas
  • Cómo eliminar datos de celdas específicas
  • Cómo escribir en la primera celda vacía de una fila
  • Cómo leer datos de una tabla
  • Cómo buscar texto en una tabla (devolver la primera fila coincidente)
  • Cómo listar todas las coincidencias en una tabla
  • Cómo eliminar completamente una fila (con desplazamiento)
  • Cómo eliminar completamente una columna (con desplazamiento)
  • Cómo crear botones para seleccionar una hoja en una tabla
  • Cómo trabajar a través de tu cuenta
  • Cómo trabajar con letras de columna
  • Cómo establecer variables en nombres de columna
  • Cómo eliminar datos de una tabla
  • Cómo agregar una hoja a una tabla
  • Errores potenciales
  • Funciones de Google Sheets (API)

En este artículo, veremos cómo los bots pueden interactuar con Google Sheets.

Para usar esta funcionalidad, necesitas:

  • Una hoja de Google con acceso de edición habilitado mediante enlace
  • Una URL de función
  • Parámetros de consulta

Cómo escribir una consulta JSON

Ve a la configuración del bloque desde el cual deseas enviar la solicitud.

Selecciona el tipo de solicitud POST JSON, ingresa la URL de la función requerida y agrega los parámetros al campo Parámetros JSON POST.

Para ver la respuesta devuelta por tu solicitud, ingresa {custom_answer} en el campo Respuesta, guarda el bloque y ejecuta la cadena.

Luego puedes guardar valores individuales de la respuesta en variables en el campo Guardar valor de la respuesta JSON usando la siguiente sintaxis:

parameters_from_query -> your_variable

Si la respuesta contiene parámetros anidados, extráelos de la siguiente manera.

Por ejemplo, si la respuesta es:

{
  "cell_number": {
    "row": 4,
    "col": 2
  }
}

Usa:

cell_number|row -> Row
cell_number|col -> Column

Ahora veamos con más detalle qué pueden hacer los bots con Google Sheets.

Cómo escribir filas en columnas específicas

Puedes recopilar datos de un usuario y escribirlos en la primera fila disponible de la tabla. Esto se hace usando la función mapping.

El encabezado debe estar completo: al menos una celda en la primera fila debe contener un valor.

URL de la función:

https://store.mavibot.ai/function/gsheets

Parámetros de consulta:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  }
}

Si deseas escribir datos en una hoja que no sea la primera, agrega el parámetro list_name:

{
  "id": "table id",
  "mapping": {
    "a": "just text",
    "b": "#{variable}"
  },
  "list_name": "Sheet name"
}

Donde:

  • id — el ID de tu hoja de Google. Puedes obtenerlo de la URL de Google Sheets.
  • a, b, c, d — nombres de columnas.
  • list_name — el nombre de la hoja, por ejemplo "Sheet 2".

Ejemplo de URL de Google Sheets:

https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0

En este ejemplo, el ID de la tabla es:

1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4

Si la solicitud se completa correctamente, la respuesta se verá así:

{
  "number_row": 8
}

Puedes guardar el número de fila devuelto y usarlo más tarde.

Si no deseas hacer que la tabla sea públicamente editable mediante enlace, debes pasar el parámetro creds_path con la ruta a tu archivo de datos de autorización.

Para más información, consulta la sección Trabajar a través de tu cuenta.

Ejemplo:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  },
  "creds_path": "path to your authorization data file"
}

Cómo escribir datos en celdas específicas

URL de la función:

https://store.mavibot.ai/function/gsheets

Parámetros de consulta:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  }
}

Los datos se escriben en las celdas específicas que proporciones — en este ejemplo: A1, B3, C1 y D20.

La numeración de columnas comienza desde 1.

Si deseas escribir datos en una hoja que no sea la primera, agrega el parámetro list_name:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  },
  "list_name": "Sheet name"
}

Si la solicitud se completa correctamente, no se devuelven parámetros.

Si no deseas hacer que la tabla sea públicamente editable mediante enlace, pasa el parámetro creds_path con la ruta a tu archivo de datos de autorización.

Para más información, consulta la sección Trabajar a través de tu cuenta.

Ejemplo:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{more}",
    "d20": "just text"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

Cómo eliminar datos de celdas específicas

URL de la función:

https://store.mavibot.ai/function/gsheets

Parámetros de consulta:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ]
}

Esto elimina valores de las celdas especificadas — en este ejemplo: A1, B3 y C2.

La numeración de columnas comienza desde 1.

Si deseas eliminar valores de celdas en una hoja que no sea la primera, agrega el parámetro list_name:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name"
}

Si la solicitud se completa correctamente, no se devuelven parámetros.

Si no deseas hacer que la tabla sea públicamente editable mediante enlace, pasa el parámetro creds_path con la ruta a tu archivo de datos de autorización.

Para más información, consulta la sección Trabajar a través de tu cuenta.

Ejemplo:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

Cómo escribir en la primera celda vacía de una fila

Puedes escribir datos en una fila especificada. El valor se agregará a la primera celda vacía a la derecha de la última celda llena.

Esto se hace usando la función append_in_row.

URL de la función:

https://store.mavibot.ai/function/gsheets

Parámetros de consulta:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value"
}

Si deseas escribir datos en una fila de una hoja que no sea la primera, agrega el parámetro list_name:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "list_name": "Sheet name"
}

Donde:

  • id — el ID de tu hoja de Google.
  • append_in_row — el número de fila donde se debe escribir el valor.
  • value — el valor que se escribirá en la celda.
  • list_name — el nombre de la hoja.

Si la solicitud se completa correctamente, la respuesta se verá así:

{
  "number_col": 10,
  "col_name": "J3"
}

Puedes guardar los valores devueltos y usarlos más tarde.

Si no deseas hacer que la tabla sea públicamente editable mediante enlace, pasa el parámetro creds_path con la ruta a tu archivo de datos de autorización.

Ejemplo:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "creds_path": "path to your authorization data file"
}

Cómo leer datos de la tabla

URL de la función:

https://store.mavibot.ai/function/gsheets

Parámetros de consulta:

{
  "id": "table id",
  "read": {
    "a1": "a1",
    "b3": "b4",
    "c1": "c10",
    "d20": "a1"
  }
}

Usa el parámetro read para especificar los rangos que deseas recuperar.

Por ejemplo:

  • "a1": "a1" devuelve una celda.
  • "c1": "c10" devuelve 10 valores de la columna C.

La respuesta contiene las direcciones de las celdas y sus valores.

La numeración de columnas comienza desde 1.

Si deseas leer valores de una hoja que no sea la primera, agrega el parámetro list_name:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name"
}

Si la solicitud se completa correctamente, la respuesta contendrá los nombres de las celdas y sus valores.

Ejemplo:

{
  "A1": "value 1",
  "A2": "value 2",
  "A3": "value 3"
}

Si no deseas hacer que la tabla sea públicamente editable mediante enlace, pasa el parámetro creds_path con la ruta a tu archivo de datos de autorización.

Para más información, consulta la sección Trabajar a través de tu cuenta.

Ejemplo:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}