Crear una página web para registrar:
y guardar automáticamente esos datos en Google Sheets.
El formulario funcionaba correctamente enviando datos directo a Google Apps Script.
RegLab.html ↓ Google Apps Script ↓ Google Sheets
Pero en la red corporativa el acceso a Google Apps Script estaba bloqueado.
Se agregó un backend intermedio usando Render.
RegLab.html ↓ Render Backend ↓ Google Apps Script ↓ Google Sheets
Ahora la PC solo se conecta a Render y Render se comunica con Google desde la nube.
Frontend principal del proyecto.
Publicado mediante GitHub Pages.
Archivo de configuración Node.js.
Render lo usa para:
Backend Node.js ejecutado por Render.
Funciones:
URL del backend:
https://principal-cnw4.onrender.com/guardar
Esta URL fue creada automáticamente por Render al desplegar el Web Service.
Usuario completa formulario ↓ RegLab.html ↓ fetch() ↓ Render (/guardar) ↓ server.js ↓ Google Apps Script ↓ appendRow() ↓ Google Sheets
Render recibía un objeto vacío:
{}
La causa fue que el HTML no enviaba:
Content-Type: application/json
La solución fue agregar:
headers:{
"Content-Type":"application/json"
}