Latenode

Crear una nueva fila en una tabla con Latenode

Crear una nueva fila en una tabla mediante la API de Google con Latenode

3 min de lectura
Flujo de Latenode para añadir filas a una hoja de cálculo de Google

Nota: Después de añadir nuevos nodos en la cadena de Latenode de un proyecto, para acceder a los datos de los nodos anteriores, necesita ejecutar el proyecto y llamar a la cadena con todos los datos necesarios. Los datos sustituidos del nodo "JavaScript" al nodo "HTTP request" a menudo deben escaparse con comillas dobles. Los objetos o matrices complejos recibidos como respuesta a una solicitud desde servidores remotos y que llegan como cadena deben procesarse con JSON.parse para poder utilizarlos en los nodos "JavaScript" con el tipo de datos correspondiente.

Primero, asegúrese de obtener el token según las instrucciones de nuestro artículo; en la lista, seleccione únicamente el alcance "Google Sheets API v..." "www.googleapis.com/auth/spreadsheets" y "www.googleapis.com/auth/drive";

Cree una nueva tabla; por ejemplo, puede llamarla "LatenodeTestSheet4Add", con dos columnas: "ID" y "Name";

REQ01: Solicitud para cliente REST


  curl --request POST  --url 'https://webhook.latenode.com/69/dev/becaa2c2-fcf6-4ef8-89a9-f375b3c0ba26?='
  --header 'Content-Type: application/x-www-form-urlencoded'
  --data 'token=[Replace the square brackets with the content of your token]'
  --data 'tableName=LatenodeTestSheet4Add'
  --data 'id=3'
  --data 'name=Latenode'

Sustituya nuestro token obtenido en el paso inicial;

Cree un nodo "Webhook": "+ Add node" => "Http" => "Webhook";

Copie la dirección del Webhook y péguela en la barra de direcciones del cliente REST;

A continuación, añada otro nodo "JavaScript": "+ Add Node" => "Code" => "JavaScript";

Guarde;

Conecte los nodos;

Inicie y llame a la cadena para transferir datos entre los nodos;

Copie el contenido siguiente:


const apiDriveURI = "https://www.googleapis.com/drive/v3/files";
const apiSheetURI= "https://sheets.googleapis.com/v4";
const bToken = "Bearer " + data["{{1.body.token}}"];
const tableFileName = data["{{1.body.tableName}}"];
const newID = data["{{1.body.id}}"];
const newName = data["{{1.body.name}}"];

return {
	apiDriveURI,
	apiSheetURI,
	bToken,
	tableFileName,
	newID,
	newName
}

Compruebe en todas las construcciones como "data["{{1.body.name}}"]" que el número del Webhook corresponda al nodo del que está obteniendo los datos; si no es así, sustitúyalo por el necesario (recuerde que 1 es el número del nodo escrito justo debajo del nombre del nodo, encima del tipo de nodo; después, si se trata de una consulta, se selecciona el campo del objeto responsable del tipo de datos enviados o recibidos: body para formularios o query para parámetros de consulta);

Guarde los cambios;

Cree el nodo "HTTP request" para obtener el ID del archivo de la tabla: "+ Add node" => "Http" => "HTTP request";

Guarde;

Conecte los nodos;

Inicie y llame a la cadena para transferir datos entre los nodos;

Configure el campo "Url": al principio, sustituya la variable "apiDriveURI" de "JavaScript"; después, especifique ?:q=name "la variable tableFileName de "JavaScript"";

Asegúrese de que el método predeterminado sea "Get";

Añada el encabezado "Autorization" y la variable "bToken" de "JavaScript" a su valor;

Haga clic en "Save";

Cree el nodo "HTTP request" para añadir datos: "+ Add node" => "Http" => "HTTP request";

Guarde;

Conecte los nodos;

Inicie y llame a la cadena para transferir datos entre los nodos;

Configure el campo "Url": al principio, sustituya la variable "apiSheetURI" de "JavaScript"; después, añada /spreadsheets/; a continuación, sustituya el valor obtenido en el nodo anterior {{ 3.body.files[ 0 ].id}} y, al final, añada /values/A:B:append?valueInputOption=USER_ENTERED&insertDataOption=INSERT_ROWS&includeValuesInResponse=true;

Cambie el método a "Post";

En el cuerpo de "raw", sustituya lo siguiente:


{
	"range": "A:B",
	"majorDimension": "ROWS",
	"values": [[{{2.newID}}, "{{2.newName}}"]]
}

Añada el encabezado "Autorization" y la variable "bToken" del primer nodo "JavaScript" a su valor;

Añada también un encabezado "Content-Type" con el valor "application/json";

Haga clic en "Save";

Inicie y llame a la cadena para transferir datos entre los nodos;

Compruebe la tabla; debería haber una nueva entrada;

Al final, toda la cadena en Latenode tendrá este aspecto:

Nos vemos en nuevos artículos

Enlaces útiles:

Básicos:

Latenode
Zona de pruebas de Google OAuth 2.0

Información:

Google Drive API
Google Drive Files: list
Google Sheet API

Método de Google Sheet: spreadsheets.values.append

FAQ

Frequently Asked Questions

Necesita permisos para la API de Google Sheets y la API de Google Drive: www.googleapis.com/auth/spreadsheets y www.googleapis.com/auth/drive, obtenidos mediante la configuración del token descrita en el artículo de Latenode sobre tokens de Google.

¿Te resultó útil? Compártelo →

Escrito por

Vasiliy Datsenko

Jefe de Soporte al Cliente

Vasiliy Datsenko es Jefe de Soporte al Cliente en Latenode y un escritor de automatización centrado en productos. Su trabajo conecta las conversaciones con los clientes, la investigación sobre automatización de flujos de trabajo, los casos de uso de IA y la educación práctica sobre productos para equipos que intentan automatizar procesos comerciales reales.

Perfil del autor →

Verificado por

Oleg Zankov

CEO Latenode, No-code Expert

Con una ética arraigada en la innovación, la resolución de problemas y la experiencia de usuario, me enfoco en capacitar a los equipos para crear integraciones personalizadas y automatizar flujos de trabajo con facilidad y eficiencia. Trayendo una gran experiencia en desarrollo empresarial, emprendimiento tecnológico y desarrollo de software, reconocí la necesidad de una solución de integración más accesible, escalable y adaptable. Así nació Latenode.com. Con nuestra plataforma, las empresas pueden aprovechar el poder de la tecnología sin necesidad de conocimientos extensos de codificación. Apasionado por fomentar un futuro donde la tecnología nos sirva, y no al revés, mi misión es simplificar procesos complejos. Creo en democratizar la tecnología y equipar a los equipos con las herramientas para innovar, crecer y tener éxito en un mundo cada vez más digital.

Perfil del autor →

Seguir leyendo