Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
Actualización de un valor específico en la fila con condiciones nodejs hoja de Google

He estado tratando de actualizar una fila existente con el mismo nombre, correo electrónico, etc. Mi problema es que no sé cómo agregar un número en el segundo WPM de prueba para el mismo usuario.

para ser más claros, el usuario envía un formulario y comienza la operación en la aplicación web, cuando finaliza la primera operación, los datos se envían a las hojas de Google y el usuario pasa a la segunda operación. Quiero enviar los datos de la segunda operación al usuario con el mismo nombre, correo electrónico.

antes despues

 app.post("/competition" , async (req, res) => { const {Name, Email, Number, Faculty, University, first_Trial_WPM , first_Trial_CPM} = req.body; const auth = new google.auth.GoogleAuth({ keyFile: "credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets", }); const client = await auth.getClient(); const googleSheets = google.sheets({version: "v4", auth: client}); const spreadsheetId = "###"; await googleSheets.spreadsheets.values.append({ auth, spreadsheetId, range: "Sheet1!A:G", valueInputOption: "USER_ENTERED", resource : { values: [ [Name, Email, Number, Faculty, University, first_Trial_WPM , first_Trial_CPM] ] } }) res.render("competition2"); }); app.post("/home" , async (req, res) => { const {Name, Email, Number, Faculty, University, second_Trial_WPM , second_Trial_CPM} = req.body; const auth = new google.auth.GoogleAuth({ keyFile: "credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets", }); const client = await auth.getClient(); const googleSheets = google.sheets({version: "v4", auth: client}); const spreadsheetId = "###"; await googleSheets.spreadsheets.values.update({ auth, spreadsheetId, range: "Sheet1!A2:I1000", valueInputOption: "USER_ENTERED", resource : { values: [ [Name, Email, Number, Faculty, University, second_Trial_WPM , second_Trial_CPM] ] } }) res.render('home'); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que su objetivo es el siguiente.

  • Desea poner los valores en las columnas "H" e "I" buscando en las columnas "A" y "B".
  • Desea lograr esto usando googleapis para Node.js.

En este caso, ¿qué tal la siguiente modificación?

Guión modificado:

En esta modificación, modifique su segundo script para poner los valores de second_Trial_WPM y second_Trial_CPM de la siguiente manera. Esta secuencia de comandos modificada utiliza las variables Name y Email , second_Trial_WPM y second_Trial_CPM .

 const spreadsheetId = "###"; const range = "Sheet1"; const values = (await googleSheets.spreadsheets.values.get({spreadsheetId, range})).data; const rows = values.values.map(([a, b], i) => (a == Name && b == Email ? i + 1 : "")).filter(String); const data = rows.map((e) => ({values: [[second_Trial_WPM, second_Trial_CPM]], range: `'${range}'!H${e}`})); const res = await googleSheets.spreadsheets.values.batchUpdate({spreadsheetId, resource: {valueInputOption: "USER_ENTERED", data}});
  • En esta modificación, primero, los valores se recuperan de "Hoja1". Y recupere los números de fila para poner valores usando los valores de Name y Email . Y luego, second_Trial_WPM y second_Trial_CPM se colocan en las columnas "H" e "I" de la fila buscada.

  • Si se recuperan los mismos nombres en las columnas "A" y "B" de "Hoja1", los valores de second_Trial_WPM y second_Trial_CPM se colocan en esas filas.

Referencias:

  • Método: hojas de cálculo.valores.get
  • Método: hojas de cálculo.valores.batchUpdate
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda