es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Registrar el parámetro JSON del registro en una celda de Google Sheet, utilizando Apps Script.

Estoy recibiendo webhooks que se leen de la siguiente manera:

{
“base”: “BTC”,
“pair”: “BTCUSDT”,
“signal”: “long”,
}

Estoy utilizando lo siguiente para capturar el webhook en code.gs (en una hoja de cálculo de Google):

//esta es una función que se activa cuando se recibe una solicitud GET
function doGet(e) {
return HtmlService.createHtmlOutput(“solicitud recibida”);
}

//esta es una función que se activa cuando se recibe una solicitud POST
function doPost(e) {
var params = JSON.stringify(e.postData.contents);
params = JSON.parse(params);

var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = Math.max(sheet.getLastRow(),1);
sheet.insertRowAfter(lastRow);

var timestamp = new Date();
sheet.getRange(lastRow + 1, 1).setValue(timestamp); //<————–esto funciona
sheet.getRange(lastRow + 1, 2).setValue(params.pair;); //<———-esto no funciona
sheet.getRange(lastRow + 1, 3).setValue(params.signal); //<———esto no funciona
sheet.getRange(lastRow + 1, 6).setValue(params); //<——————esto funciona
SpreadsheetApp.flush();
return HtmlService.createHtmlOutput(“solicitud POST recibida”);
}

Lo que sucede es que el registro de tiempo se registra correctamente en la celda correcta, al igual que lo hacen los parámetros de registro. Sin embargo, no puedo hacer que “params.pair” y “params.signal” se impriman en la hoja. (Ver las flechas en el código anterior).

Tenga en cuenta que funciona correctamente en una prueba donde simplemente ingreso el texto del webhook como una cadena y ejecuto la misma función. Pero cuando se hace a través de un webhook, no parece funcionar, ni puedo registrar nada en la consola para depurar.

¿Alguna idea?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo problemas para imprimir los valores params.pair y params.signal en la hoja cuando se recibe el webhook. Es posible que el webhook no esté enviando los datos en el formato correcto, o que el código no esté analizando los datos correctamente.

    Para solucionar este problema, podrías intentar registrar el objeto params en la consola para ver qué datos se están recibiendo. También podrías intentar ingresar manualmente el texto del webhook como una cadena y ejecutar la misma función para ver si los datos se están analizando correctamente.

Comments are closed.