Estoy llenando previamente un formulario de Google con AppScript, finalmente estoy guardando las direcciones URL en una matriz.
var formCol = SpreadsheetApp.getActive().getRangeByName('FORM'); var form = FormApp.openByUrl(FORM_URL); var items = form.getItems(); var urls = []; for (let i = 1; i < 4; i++ ) { var formResponse = form.createResponse(); var formItem = items[0].asTextItem(); response = formItem.createResponse(botData.id[i]); formResponse.withItemResponse(response); formItem = items[1].asTextItem(); response = formItem.createResponse(botData.bot[i]); formResponse.withItemResponse(response); var date = new Date (botData.date[i].toString()); var date2 = botData.date[i].toString(); //var day formItem = items[3].asTextItem(); response = formItem.createResponse(botData.zone[i]); formResponse.withItemResponse(response); formItem = items[8].asTextItem(); response = formItem.createResponse(botData.remitent[i]); formResponse.withItemResponse(response); formItem = items[9].asTextItem(); response = formItem.createResponse(botData.description[i]); formResponse.withItemResponse(response); formItem = items[11].asTextItem(); response = formItem.createResponse(botData.solutiontime[i]); formResponse.withItemResponse(response); var url = formResponse.toPrefilledUrl(); //sheet.getRange(row, 31).setValue(url); url = url.toString() urls.push(url) } formCol.setValues(urls); } Quiero imprimir cada url en una columna 'FORMULARIO' de Hojas de cálculo de Google, pero aparece el error "
Excepción: los parámetros (número []) no coinciden con la firma del método para SpreadsheetApp.Range.setValues." cuando intento imprimir la matriz con setValues, ¿cómo puedo resolver este error?
urls de formCol.setValues(urls) son una matriz unidimensional. Se requiere que el argumento de setValues(value) sea una matriz bidimensional.var formCol = SpreadsheetApp.getActive().getRangeByName('FORM'); se utiliza, no se puede conocer el tamaño del rango. Entonces, en su situación, podría ser necesario modificar el rango para poner los valores de urls .Cuando estos puntos se reflejan en su guión, se convierte en lo siguiente.
urls.push(url) } formCol.setValues(urls); urls.push([url]); } formCol.setValues(urls);o
urls.push([url]); } formCol.offset(0, 0, urls.length, 1).setValues(urls);Parece que está pasando un argumento que es del tipo incorrecto para la función setValues . De acuerdo con la documentación , debe pasar una matriz bidimensional.