Class Form

Form

Es un formulario que contiene propiedades y elementos generales. Las propiedades incluyen el título, la configuración y dónde se almacenan las respuestas. Los elementos incluyen elementos de preguntas, como casillas de verificación o elementos de radio, mientras que los elementos de diseño hacen referencia a saltos de página. Puedes acceder a los formularios o crearlos desde FormApp.

// Open a form by ID and create a new spreadsheet.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var ss = SpreadsheetApp.create('Spreadsheet Name');

// Update form properties via chaining.
form.setTitle('Form Name')
    .setDescription('Description of form')
    .setConfirmationMessage('Thanks for responding!')
    .setAllowResponseEdits(true)
    .setAcceptingResponses(false);

// Update the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

Métodos

MétodoTipo de datos que se muestraDescripción breve
addCheckboxGridItem()CheckboxGridItemAgrega un nuevo elemento de pregunta, presentado como una cuadrícula de columnas y filas, que permite que el encuestador seleccione varias opciones por fila desde una secuencia de casillas de verificación.
addCheckboxItem()CheckboxItemAgrega un nuevo elemento de pregunta que permite al encuestado seleccionar una o más casillas de verificación, así como un campo "Otro" opcional.
addDateItem()DateItemAgrega un elemento de pregunta nuevo que permite que el encuestado indique una fecha.
addDateTimeItem()DateTimeItemAgrega un nuevo elemento de pregunta que permite que el encuestado indique una fecha y hora.
addDurationItem()DurationItemAgrega un nuevo elemento de pregunta que permite que el encuestado indique un período de tiempo.
addEditor(emailAddress)FormAgrega al usuario determinado a la lista de editores de Form.
addEditor(user)FormAgrega al usuario determinado a la lista de editores de Form.
addEditors(emailAddresses)FormAgrega el array de usuarios determinado a la lista de editores de Form.
addGridItem()GridItemAgrega un elemento de pregunta nuevo, presentado como una cuadrícula de columnas y filas, que permite que el encuestado seleccione una opción por fila de una secuencia de botones de selección.
addImageItem()ImageItemAgrega un nuevo elemento de diseño que muestra una imagen.
addListItem()ListItemAgrega un elemento de pregunta nuevo que permite que el encuestado seleccione una opción de una lista desplegable.
addMultipleChoiceItem()MultipleChoiceItemAgrega un elemento de pregunta nuevo que permita al encuestado seleccionar una opción de una lista de botones de selección o un campo "Otro" opcional.
addPageBreakItem()PageBreakItemAgrega un nuevo elemento de diseño que marca el inicio de una página.
addParagraphTextItem()ParagraphTextItemAgrega un elemento de pregunta nuevo que permite que el encuestado ingrese un bloque de texto.
addScaleItem()ScaleItemAgrega un nuevo elemento de pregunta que permite que el encuestado elija una opción de una secuencia numerada de botones de selección.
addSectionHeaderItem()SectionHeaderItemAgrega un nuevo elemento de diseño que indica visualmente el inicio de una sección.
addTextItem()TextItemAgrega un nuevo elemento de pregunta que permite que el encuestado ingrese una sola línea de texto.
addTimeItem()TimeItemAgrega un nuevo elemento de pregunta que permite que el encuestado indique una hora del día.
addVideoItem()VideoItemAgrega un nuevo elemento de diseño en el que se muestra un video.
canEditResponse()BooleanDetermina si el formulario muestra un vínculo para editar una respuesta después de enviarla.
collectsEmail()BooleanDetermina si el formulario recopila las direcciones de correo electrónico de las personas que responden el formulario.
createResponse()FormResponseCrea una respuesta nueva al formulario.
deleteAllResponses()FormBorra todas las respuestas enviadas del almacén de respuestas del formulario.
deleteItem(index)voidBorra el elemento de un índice determinado entre todos los elementos del formulario.
deleteItem(item)voidBorra el elemento determinado.
deleteResponse(responseId)FormBorra una sola respuesta del almacén de respuestas del formulario.
getConfirmationMessage()StringObtiene el mensaje de confirmación del formulario.
getCustomClosedFormMessage()StringObtiene el mensaje personalizado que se muestra si el formulario no acepta respuestas o una string vacía si no se configura un mensaje personalizado.
getDescription()StringObtiene la descripción del formulario.
getDestinationId()StringObtiene el ID del destino de la respuesta del formulario.
getDestinationType()DestinationTypeObtiene el tipo del destino de la respuesta del formulario.
getEditUrl()StringObtiene la URL que se puede usar para acceder al modo de edición del formulario.
getEditors()User[]Obtiene la lista de editores de este Form.
getId()StringObtiene el ID del formulario.
getItemById(id)ItemObtiene el elemento con un ID determinado.
getItems()Item[]Obtiene un array de todos los elementos del formulario.
getItems(itemType)Item[]Obtiene un array de todos los elementos de un tipo determinado.
getPublishedUrl()StringObtiene la URL que se puede usar para responder el formulario.
getResponse(responseId)FormResponseObtiene una sola respuesta de formulario según su ID de respuesta.
getResponses()FormResponse[]Obtiene un array de todas las respuestas del formulario.
getResponses(timestamp)FormResponse[]Obtiene un array de todas las respuestas del formulario después de una fecha y hora determinadas.
getShuffleQuestions()BooleanDetermina si el orden de las preguntas en cada página del formulario es aleatorio.
getSummaryUrl()StringObtiene la URL que se puede usar para ver un resumen de las respuestas del formulario.
getTitle()StringObtiene el título del formulario.
hasLimitOneResponsePerUser()BooleanDetermina si el formulario permite una sola respuesta por encuestado.
hasProgressBar()BooleanDetermina si el formulario muestra una barra de progreso.
hasRespondAgainLink()BooleanDetermina si el formulario muestra un vínculo para enviar otra respuesta después de que el encuestado complete el formulario.
isAcceptingResponses()BooleanDetermina si el formulario acepta respuestas en este momento.
isPublishingSummary()BooleanDetermina si el formulario muestra un vínculo para ver un resumen de las respuestas después de que el encuestado completa el formulario.
isQuiz()BooleanDetermina si el formulario es un cuestionario.
moveItem(from, to)ItemMueve un elemento en un índice determinado entre todos los elementos del formulario a otro índice determinado.
moveItem(item, toIndex)ItemMueve un elemento determinado a un índice determinado entre todos los elementos del formulario.
removeDestination()FormDesvincula el formulario del destino de respuesta actual.
removeEditor(emailAddress)FormQuita al usuario determinado de la lista de editores de Form.
removeEditor(user)FormQuita al usuario determinado de la lista de editores de Form.
requiresLogin()BooleanDetermina si el formulario requiere que los encuestados accedan a una cuenta en el mismo dominio o subdominio antes de responder.
setAcceptingResponses(enabled)FormEstablece si el formulario acepta respuestas en este momento.
setAllowResponseEdits(enabled)FormEstablece si el formulario muestra un vínculo para editar una respuesta después de enviarla.
setCollectEmail(collect)FormEstablece si el formulario recopila las direcciones de correo electrónico de las personas que responden el formulario.
setConfirmationMessage(message)FormEstablece el mensaje de confirmación del formulario.
setCustomClosedFormMessage(message)FormConfigura el mensaje para que se muestre si el formulario no acepta respuestas.
setDescription(description)FormEstablece la descripción del formulario.
setDestination(type, id)FormEstablece el destino donde se guardan las respuestas del formulario.
setIsQuiz(enabled)FormEstablece si el formulario es un cuestionario.
setLimitOneResponsePerUser(enabled)FormEstablece si el formulario permite una sola respuesta por encuestado.
setProgressBar(enabled)FormEstablece si el formulario tiene una barra de progreso.
setPublishingSummary(enabled)FormEstablece si el formulario muestra un vínculo para ver un resumen de las respuestas después de que un encuestado envía el formulario.
setRequireLogin(requireLogin)FormEstablece si el formulario requiere que los encuestados accedan a una cuenta en el mismo dominio o un subdominio antes de responder.
setShowLinkToRespondAgain(enabled)FormEstablece si el formulario muestra un vínculo para enviar otra respuesta después de que el encuestado complete el formulario.
setShuffleQuestions(shuffle)FormEstablece si el orden de las preguntas en cada página del formulario es aleatorio.
setTitle(title)FormEstablece el título del formulario.
shortenFormUrl(url)StringConvierte una URL larga de un formulario en una URL corta.
submitGrades(responses)FormEnvía calificaciones para las FormResponses proporcionadas.

Documentación detallada

addCheckboxGridItem()

Agrega un nuevo elemento de pregunta, presentado como una cuadrícula de columnas y filas, que permite que el encuestador seleccione varias opciones por fila desde una secuencia de casillas de verificación.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a checkbox grid item.
const item = form.addCheckboxGridItem();

// Sets the title 'Where did you celebrate New Year's?'
item.setTitle('Where did you celebrate New Year's?');

// Sets the grid's rows and columns.
item.setRows(['New York', 'San Francisco', 'London'])
  .setColumns(['2014', '2015', '2016', '2017']);

Volver

CheckboxGridItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addCheckboxItem()

Agrega un nuevo elemento de pregunta que permite al encuestado seleccionar una o más casillas de verificación, así como un campo "Otro" opcional.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a checkbox item.
const item = form.addCheckboxItem();

// Sets the title of the checkbox item to 'Do you prefer cats or dogs?'
item.setTitle('Do you prefer cats or dogs?');

// Sets the choices.
item.setChoiceValues(['Cats', 'Dogs']);

Volver

CheckboxItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateItem()

Agrega un elemento de pregunta nuevo que permite que el encuestado indique una fecha.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a date item.
const item = form.addDateItem();

// Sets the title to 'When were you born?'
item.setTitle('When were you born?');

// Sets the description for the date item.
item.setHelpText('Some helper text.');

Volver

DateItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateTimeItem()

Agrega un nuevo elemento de pregunta que permite que el encuestado indique una fecha y hora.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a question with date and time inputs.
const item = form.addDateTimeItem();

// Sets the title to 'When were you born?'
item.setTitle('When were you born?');

// Sets the question as required.
item.setRequired(true);

Volver

DateTimeItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDurationItem()

Agrega un nuevo elemento de pregunta que permite que el encuestado indique un período de tiempo.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a question with a duration input.
const item = form.addDurationItem();

// Sets the title to 'How long can you hold your breath?'
item.setTitle('How long can you hold your breath?');

// Sets the question as required.
item.setRequired(true);

Volver

DurationItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(emailAddress)

Agrega al usuario determinado a la lista de editores de Form. Si el usuario ya estaba en la lista de usuarios, este método lo promueve de la lista de usuarios.

Parámetros

NombreTipoDescripción
emailAddressStringLa dirección de correo electrónico del usuario que se agregará.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(user)

Agrega al usuario determinado a la lista de editores de Form. Si el usuario ya estaba en la lista de usuarios, este método lo promueve de la lista de usuarios.

Parámetros

NombreTipoDescripción
userUserUna representación del usuario que se agregará.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditors(emailAddresses)

Agrega el array de usuarios determinado a la lista de editores de Form. Si alguno de los usuarios ya estaba en la lista de usuarios, este método los promociona fuera de ella.

Parámetros

NombreTipoDescripción
emailAddressesString[]Es un array de direcciones de correo electrónico de los usuarios que se agregarán.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addGridItem()

Agrega un elemento de pregunta nuevo, presentado como una cuadrícula de columnas y filas, que permite que el encuestado seleccione una opción por fila de una secuencia de botones de selección.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a multiple choice grid.
const item = form.addGridItem();

// Sets the title to 'Rate your interests.'
item.setTitle('Rate your interests');

// Sets the grid's rows and columns.
item.setRows(['Cars', 'Computers', 'Celebrities'])
  .setColumns(['Boring', 'So-so', 'Interesting']);

Volver

GridItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addImageItem()

Agrega un nuevo elemento de diseño que muestra una imagen.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds an image item.
const item = form.addImageItem();

// Gets the Google icon to use as the image.
const img = UrlFetchApp.fetch('https://fonts.gstatic.com/s/i/productlogos/googleg/v6/web-24dp/logo_googleg_color_1x_web_24dp.png');

// Sets the image, title, and description for the item.
item.setTitle('Google icon').setHelpText('Google icon').setImage(img);

Volver

ImageItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addListItem()

Agrega un elemento de pregunta nuevo que permite que el encuestado seleccione una opción de una lista desplegable.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a dropdown list to the form.
const item = form.addListItem();

// Sets the title to 'Do you prefer cats or dogs?'
item.setTitle('Do you prefer cats or dogs?');

// Sets the description to 'This is description text...'
item.setHelpText('This is description text...');

// Creates and adds choices to the dropdown list.
item.setChoices([
  item.createChoice('dog'),
  item.createChoice('cat')
]);

Volver

ListItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addMultipleChoiceItem()

Agrega un elemento de pregunta nuevo que permita al encuestado seleccionar una opción de una lista de botones de selección o un campo "Otro" opcional.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a multiple choice item to the form.
const item = form.addMultipleChoiceItem();

// Sets the title.
item.setTitle('What is your favorite ice cream flavor?');

// Creates some choice items.
const vanilla = item.createChoice('vanilla');
const chocolate = item.createChoice('chocolate');
const strawberry = item.createChoice('strawberry');

// Sets the choices.
item.setChoices([vanilla, chocolate, strawberry]);

Volver

MultipleChoiceItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addPageBreakItem()

Agrega un nuevo elemento de diseño que marca el inicio de una página.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds page break items to create a second and third page for the form.
const pageTwo = form.addPageBreakItem();
const pageThree = form.addPageBreakItem();

// Sets the titles for the pages.
pageTwo.setTitle('Page two');
pageThree.setTitle('Page three');

// Upon completion of the first page, sets the form to navigate to the third page.
pageTwo.setGoToPage(pageThree);

// Upon completion of the second page, sets the form to navigate back to the first page.
pageThree.setGoToPage(FormApp.PageNavigationType.RESTART);

Volver

PageBreakItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addParagraphTextItem()

Agrega un elemento de pregunta nuevo que permite que el encuestado ingrese un bloque de texto.

// Opens the form by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds the paragraph text item.
const item = form.addParagraphTextItem();

// Sets the title to 'What is your address?'
item.setTitle('What is your address?');

Volver

ParagraphTextItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addScaleItem()

Agrega un nuevo elemento de pregunta que permite que el encuestado elija una opción de una secuencia numerada de botones de selección.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds the scale item.
const item = form.addScaleItem();

// Sets the title of the scale item to 'Choose a number.'
item.setTitle('Choose a number');

// Sets the scale to 1-5.
item.setBounds(1, 5);

// Sets the label for the lower and upper bounds.
item.setLabels('Lowest', 'Highest');

Volver

ScaleItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addSectionHeaderItem()

Agrega un nuevo elemento de diseño que indica visualmente el inicio de una sección.

 // Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds the section heading item.
const item = form.addSectionHeaderItem();

// Sets the title to 'Title of new section.'
item.setTitle('Title of new section');

// Sets the description.
item.setHelpText('Description of new section');

Volver

SectionHeaderItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTextItem()

Agrega un nuevo elemento de pregunta que permite que el encuestado ingrese una sola línea de texto.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a single-line text item.
const item = form.addTextItem();

// Sets the title to 'What is your name?'
item.setTitle('What is your name?');

Volver

TextItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTimeItem()

Agrega un nuevo elemento de pregunta que permite que el encuestado indique una hora del día.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a question with a time input.
const item = form.addTimeItem();

// Sets the title to 'What time do you usually wake up in the morning?'
item.setTitle('What time do you usually wake up in the morning?');

Volver

TimeItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addVideoItem()

Agrega un nuevo elemento de diseño en el que se muestra un video.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Adds a video item.
const item = form.addVideoItem();

// Sets the title, description, and video.
item.setTitle('YouTube video')
  .setHelpText('Send content automatically via Google Sheets and Apps Script')
  .setVideoUrl('https://youtu.be/xxgQr-jSu9o');

// Sets the alignment to the center.
item.setAlignment(FormApp.Alignment.CENTER);

Volver

VideoItem: Es el elemento recién creado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

canEditResponse()

Determina si el formulario muestra un vínculo para editar una respuesta después de enviarla.

Sin importar esta configuración, el método FormResponse.getEditResponseUrl() permite que un autor de la secuencia de comandos con acceso de edición al formulario genere una URL que se puede usar para editar una respuesta.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Checks if the form displays a link to edit a response after submitting it.
// The default is false. To let people edit their responses, use
// form.setAllowResponseEdits(true).
const edit = form.canEditResponse();

// If the form doesn't let people edit responses, logs false to the console.
console.log(edit);

Volver

Boolean: Es true si el formulario muestra un vínculo para "Editar tu respuesta"; false si no lo hace.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

collectsEmail()

Determina si el formulario recopila las direcciones de correo electrónico de las personas que responden el formulario.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to not collect respondents' email addresses.
form.setCollectEmail(false);

// Checks whether the form collects respondents' email addresses and logs it to the console.
const bool = form.collectsEmail();

console.log(bool);

Volver

Boolean: true si el formulario recopila direcciones de correo electrónico; false si no lo hace.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

createResponse()

Crea una respuesta nueva al formulario. Para responder un elemento de pregunta, crea un ItemResponse a partir del elemento y, luego, llama a FormResponse.withItemResponse(response) para adjuntarlo a esta respuesta del formulario. Para guardar la respuesta ensamblada, llama a FormResponse.submit().

Volver

FormResponse: Es la respuesta del formulario recién creada.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteAllResponses()

Borra todas las respuestas enviadas del almacén de respuestas del formulario. Este método no borra copias de respuestas almacenadas en un destino de respuesta externo (como una hoja de cálculo), pero borra la vista de resumen del formulario.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(index)

Borra el elemento de un índice determinado entre todos los elementos del formulario. Muestra una excepción de secuencias de comandos si no existe ningún elemento en el índice determinado.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets all the items from the form.
const items = form.getItems();

// Finds the index of a paragraph text item and deletes it by the item's index.
const index = items.findIndex(item => item.getType() === FormApp.ItemType.PARAGRAPH_TEXT);
if (index !== -1) {
  form.deleteItem(index);
}

Parámetros

NombreTipoDescripción
indexIntegerEl índice del elemento entre todos los elementos del formulario.

Arroja

Error: Si no existe un elemento en el índice especificado

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(item)

Borra el elemento determinado. Muestra una excepción de secuencias de comandos si el elemento ya se borró.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets all of the items from the form.
const items = form.getItems();

// Finds a paragraph text item and deletes it.
const item = items.find(item => item.getType() === FormApp.ItemType.PARAGRAPH_TEXT);
if (item) {
  form.deleteItem(item);
}

Parámetros

NombreTipoDescripción
itemItemEl elemento que se borrará.

Arroja

Error: Si el elemento no existe en el formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteResponse(responseId)

Borra una sola respuesta del almacén de respuestas del formulario. Este método no borra copias de respuestas almacenadas en un destino de respuesta externo (como una hoja de cálculo), pero quita la respuesta de la vista de resumen del formulario. El ID de respuesta se puede recuperar con FormResponse.getId().

Parámetros

NombreTipoDescripción
responseIdStringEl ID de la respuesta del formulario que se borrará.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getConfirmationMessage()

Obtiene el mensaje de confirmación del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the confirmation message to display after someone submits the form.
form.setConfirmationMessage('You successfully submitted the form.');

// Gets the confirmation message and logs it to the console.
const message = form.getConfirmationMessage();

console.log(message);

Volver

String: Es el mensaje de confirmación del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getCustomClosedFormMessage()

Obtiene el mensaje personalizado que se muestra si el formulario no acepta respuestas o una string vacía si no se configura un mensaje personalizado.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets a custom closed form message to display to the user when the form
// no longer accepts responses.
form.setCustomClosedFormMessage('The form is no longer accepting responses.');

// Gets the custom message set for the form and logs it to the console.
const message = form.getCustomClosedFormMessage();

console.log(message);

Volver

String: Es el mensaje personalizado que se muestra si el formulario no acepta respuestas o una string vacía si no se configura ningún mensaje personalizado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDescription()

Obtiene la descripción del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form description.
form.setDescription('This is the form description.');

// Gets the form description and logs it to the console.
const description = form.getDescription();

console.log(description);

Volver

String: Es la descripción del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationId()

Obtiene el ID del destino de la respuesta del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Creates a spreadsheet to use as the response destination.
const ss = SpreadsheetApp.create('Test_Spreadsheet');

// Updates the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

// Gets the ID of the form's response destination and logs it to the console.
const destinationId = form.getDestinationId();

console.log(destinationId);

Volver

String: Es el ID del destino de la respuesta del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationType()

Obtiene el tipo del destino de la respuesta del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc1234556/edit');

// Gets the type of the form's response destination and logs it to the console.
const destinationType = form.getDestinationType().name();

console.log(destinationType);

Volver

DestinationType: Es el tipo de destino de la respuesta del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditUrl()

Obtiene la URL que se puede usar para acceder al modo de edición del formulario.

// Opens the form by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the URL that accesses the form's edit mode and logs it to the console.
const url = form.getEditUrl();

console.log(url);

Volver

String: Es la URL para editar el formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditors()

Obtiene la lista de editores de este Form.

Volver

User[]: Es un array de usuarios con permiso de edición.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getId()

Obtiene el ID del formulario.

// Opens the form by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the ID of the form and logs it to the console.
const id = form.getId();

console.log(id);

Volver

String: Es el ID del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItemById(id)

Obtiene el elemento con un ID determinado. Muestra null si el ID no corresponde a un elemento del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the ID of the first item on the form.
const itemId = form.getItems()[0].getId();

// Gets the item from the ID.
const item = form.getItemById(itemId);

// Gets the name of the item type and logs it to the console.
const type = item.getType().name();

console.log(type);

Parámetros

NombreTipoDescripción
idIntegerEl ID del artículo.

Volver

Item: Es el elemento con el ID determinado o null si el elemento no existe en el formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems()

Obtiene un array de todos los elementos del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the list of items in the form.
const items = form.getItems();

// Gets the type for each item and logs them to the console.
const types = items.map((item) => item.getType().name());

console.log(types);

Volver

Item[]: Es un array de todos los elementos del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems(itemType)

Obtiene un array de todos los elementos de un tipo determinado.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets a list of all checkbox items on the form.
const items = form.getItems(FormApp.ItemType.CHECKBOX);

// Gets the title of each checkbox item and logs them to the console.
const checkboxItemsTitle = items.map((item) => item.asCheckboxItem().getTitle());
console.log(checkboxItemsTitle);

Parámetros

NombreTipoDescripción
itemTypeItemTypeEl tipo de elementos que se recuperarán.

Volver

Item[]: Es un array de todos los elementos de ese tipo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getPublishedUrl()

Obtiene la URL que se puede usar para responder el formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the URL to respond to the form and logs it to the console.
const url = form.getPublishedUrl();
console.log(url);

Volver

String: Es la URL para responder al formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponse(responseId)

Obtiene una sola respuesta de formulario según su ID de respuesta. Los ID de respuesta se pueden recuperar de FormResponse.getId().

Parámetros

NombreTipoDescripción
responseIdStringEs el ID de la respuesta del formulario.

Volver

FormResponse: Es la respuesta del formulario.

Arroja

Error: Si la respuesta no existe

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses()

Obtiene un array de todas las respuestas del formulario.

Volver

FormResponse[]: Es un array de todas las respuestas del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses(timestamp)

Obtiene un array de todas las respuestas del formulario después de una fecha y hora determinadas.

Parámetros

NombreTipoDescripción
timestampDateLa primera fecha y hora para las que se deben mostrar las respuestas del formulario.

Volver

FormResponse[]: Es la lista de respuestas del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getShuffleQuestions()

Determina si el orden de las preguntas en cada página del formulario es aleatorio.

Volver

Boolean: true si el orden de las preguntas en cada página del formulario es aleatorio; false si no es aleatorio.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getSummaryUrl()

Obtiene la URL que se puede usar para ver un resumen de las respuestas del formulario. A menos que setPublishingSummary(enabled) esté configurado como true, solo los usuarios con permiso de edición del formulario podrán acceder a la URL.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// Opens the form by its URL.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the URL to view a summary of the form's responses and logs it to the console.
const url = form.getSummaryUrl();
console.log(url);

Volver

String: Es la URL para ver un resumen de las respuestas.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getTitle()

Obtiene el título del formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the title of the form to 'For_Testing.'
form.setTitle('For_Testing');

// Gets the title of the form and logs it to the console.
const title = form.getTitle();
console.log(title);

Volver

String: Es el título del formulario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasLimitOneResponsePerUser()

Determina si el formulario permite una sola respuesta por encuestado. Si el valor es true, la secuencia de comandos no puede enviar respuestas del formulario.

Volver

Boolean: true si el formulario permite una sola respuesta por encuestado; false si no es así.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasProgressBar()

Determina si el formulario muestra una barra de progreso.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// Opens the form by its URL.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Displays the progress bar on the form.
form.setProgressBar(true);

// Checks if the form displays a progress bar and logs it to the console.
console.log(form.hasProgressBar());

Volver

Boolean: Es true si el formulario muestra una barra de progreso; false si no aparece.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

Determina si el formulario muestra un vínculo para enviar otra respuesta después de que el encuestado complete el formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to display a link to submit another
// response after someone submits the form.
form.setShowLinkToRespondAgain(true);

// Checks if the form displays a 'Submit another response' link and logs it to the console.
console.log(form.hasRespondAgainLink());

Volver

Boolean: Es true si el formulario muestra un vínculo para "Enviar otra respuesta"; false si no lo hace.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isAcceptingResponses()

Determina si el formulario acepta respuestas en este momento.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to accept responses.
form.setAcceptingResponses(true);

// Checks if the form is accepting responses or not and logs it to the console.
const accepting = form.isAcceptingResponses();
console.log(accepting);

Volver

Boolean: true si el formulario acepta respuestas; false si no lo es.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isPublishingSummary()

Determina si el formulario muestra un vínculo para ver un resumen de las respuestas después de que el encuestado completa el formulario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to display a link to a summary of
// the responses after someone submits the form.
form.setPublishingSummary(true);

// Checks if the form displays a "See previous responses" link and logs it to the console.
const publishingLink = form.isPublishingSummary();
console.log(publishingLink);

Volver

Boolean: Es true si el formulario muestra el vínculo "Ver respuestas anteriores"; false si no aparece.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isQuiz()

Determina si el formulario es un cuestionario.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form as a quiz.
form.setIsQuiz(true);

// Checks if the form is a quiz or not and logs it to the console.
console.log(form.isQuiz());

Volver

Boolean: true si el formulario acepta respuestas; false si no lo es.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(from, to)

Mueve un elemento en un índice determinado entre todos los elementos del formulario a otro índice determinado. Muestra una excepción de secuencia de comandos si el índice to está fuera de los límites.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Moves the first item to be the last item.
form.moveItem(0, form.getItems().length - 1);

Parámetros

NombreTipoDescripción
fromIntegerEl índice actual del elemento entre todos los elementos del formulario.
toIntegerEs el nuevo índice del elemento entre todos los elementos del formulario.

Volver

Item: El elemento que se movió.

Arroja

Error: Si alguno de los índices está fuera de los límites.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(item, toIndex)

Mueve un elemento determinado a un índice determinado entre todos los elementos del formulario. Muestra una excepción de secuencias de comandos si el índice determinado está fuera de los límites.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the first item.
const item = form.getItems()[0];

// Moves the item to be the last item.
form.moveItem(item, form.getItems().length - 1);

Parámetros

NombreTipoDescripción
itemItemEl elemento que se moverá.
toIndexIntegerEs el nuevo índice del elemento entre todos los elementos del formulario.

Volver

Item: El elemento que se movió.

Arroja

Error: Si el índice está fuera de los límites.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeDestination()

Desvincula el formulario del destino de respuesta actual. El destino anterior desvinculado aún conserva una copia de todas las respuestas anteriores. Todos los formularios, incluidos los que no tienen un destino establecido de forma explícita, guardan una copia de las respuestas en el almacén de respuestas del formulario. Si el formulario no tiene un destino de respuesta, este método no tiene efecto.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Opens a spreadsheet to use for the response destination.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Updates the form's response destination to the spreadsheet.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

// Unlinks the form from the spreadsheet.
form.removeDestination();

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(emailAddress)

Quita al usuario determinado de la lista de editores de Form. Este método no impide que los usuarios accedan a Form si pertenecen a una clase de usuarios que tienen acceso general, por ejemplo, si se comparte Form con todo el dominio del usuario o si Form está en una unidad compartida a la que el usuario puede acceder.

En el caso de los archivos de Drive, también se quita al usuario de la lista de usuarios.

Parámetros

NombreTipoDescripción
emailAddressStringLa dirección de correo electrónico del usuario que se quitará.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(user)

Quita al usuario determinado de la lista de editores de Form. Este método no impide que los usuarios accedan a Form si pertenecen a una clase de usuarios que tienen acceso general, por ejemplo, si se comparte Form con todo el dominio del usuario o si Form está en una unidad compartida a la que el usuario puede acceder.

En el caso de los archivos de Drive, también se quita al usuario de la lista de usuarios.

Parámetros

NombreTipoDescripción
userUserUna representación del usuario que se desea quitar.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

requiresLogin()

Determina si el formulario requiere que los encuestados accedan a una cuenta en el mismo dominio o subdominio antes de responder.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Checks if the form requires respondents to log in to a Google Workspace account
// before responding and logs it to the console.
const login = form.requiresLogin();
console.log(login);

Volver

Boolean: true si el formulario requiere que los usuarios accedan; false si no lo hace.


setAcceptingResponses(enabled)

Establece si el formulario acepta respuestas en este momento. El valor predeterminado de los formularios nuevos es true.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to accept responses.
form.setAcceptingResponses(true);

// Checks whether the form is accepting responses or not and logs it to the console.
console.log(form.isAcceptingResponses());

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe aceptar respuestas; false si no debe hacerlo.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setAllowResponseEdits(enabled)

Establece si el formulario muestra un vínculo para editar una respuesta después de enviarla. El valor predeterminado para los formularios nuevos es false.

Sin importar esta configuración, el método FormResponse.getEditResponseUrl() permite que un autor de la secuencia de comandos con permiso de edición del formulario genere una URL que se puede usar para editar una respuesta.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Shows "Edit your response" link after someone submits the form.
form.setAllowResponseEdits(true);

// Checks whether the option to edit the form after a user submits it is set to true or not
// and logs it to the console.
console.log(form.canEditResponse());

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe mostrar el vínculo "Editar tu respuesta"; false si no.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCollectEmail(collect)

Establece si el formulario recopila las direcciones de correo electrónico de las personas que responden el formulario. El valor predeterminado para los formularios nuevos es false.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to collect respondents' email addresses.
form.setCollectEmail(true);

// Checks whether the value is set to true or false and logs it to the console.
const collect = form.collectsEmail();
console.log(collect);

Parámetros

NombreTipoDescripción
collectBooleantrue si el formulario debe recopilar direcciones de correo electrónico; false si no lo hace.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setConfirmationMessage(message)

Establece el mensaje de confirmación del formulario.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets a custom confirmation message to display after someone submits the form.
form.setConfirmationMessage('Your form has been successfully submitted.');

// Gets the confirmation message set for the form and logs it to the console.
const message = form.getConfirmationMessage();
console.log(message);

Parámetros

NombreTipoDescripción
messageStringEl nuevo mensaje de confirmación del formulario.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCustomClosedFormMessage(message)

Configura el mensaje para que se muestre si el formulario no acepta respuestas. Si no se establece ningún mensaje, el formulario usa un mensaje predeterminado.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form to not accept responses.
form.setAcceptingResponses(false);

// Sets a custom closed form message to display to the user.
form.setCustomClosedFormMessage('The form is no longer accepting responses.');

// Gets the custom message set for the form and logs it to the console.
const message = form.getCustomClosedFormMessage();
console.log(message);

Parámetros

NombreTipoDescripción
messageStringEl mensaje que se mostrará si el formulario no acepta respuestas.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDescription(description)

Establece la descripción del formulario.

Parámetros

NombreTipoDescripción
descriptionStringLa nueva descripción del formulario

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDestination(type, id)

Establece el destino donde se guardan las respuestas del formulario. Todos los formularios, incluidos los que no tienen un destino establecido de forma explícita, guardan una copia de las respuestas en el almacén de respuestas del formulario.

Parámetros

NombreTipoDescripción
typeDestinationTypeEs el tipo de destino de la respuesta del formulario.
idStringEl ID del destino de la respuesta del formulario.

Volver

Form: Este Form, para encadenar

Arroja

Error: Si el ID de destino proporcionado no es válido

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setIsQuiz(enabled)

Establece si el formulario es un cuestionario. El valor predeterminado de los formularios nuevos es false.

Las preguntas con calificación solo se permiten en Cuestionarios, por lo que establecer esta opción en false hace que se quiten todas las opciones de calificación de todas las preguntas.

La configuración de los cuestionarios solo está disponible en la nueva IU de Formularios; cuando se crea un formulario, se habilita el uso de la nueva IU en el formulario.

// Opens the Forms file by its URL. If you created your script from within a
// Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Makes the form a quiz.
form.setIsQuiz(true);

// Checks whether the form is a quiz or not and logs it to the console.
console.log(form.isQuiz());

Parámetros

NombreTipoDescripción
enabledBooleantrue si las funciones del cuestionario deben estar habilitadas para el formulario; false si no lo está.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setLimitOneResponsePerUser(enabled)

Establece si el formulario permite una sola respuesta por encuestado. El valor predeterminado para los formularios nuevos es false. Si el valor se establece en true, la secuencia de comandos no puede enviar respuestas del formulario.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario solo debe permitir una respuesta por encuestado; false si no es así.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setProgressBar(enabled)

Establece si el formulario tiene una barra de progreso. El valor predeterminado de los formularios nuevos es false.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Displays the progress bar on the form.
form.setProgressBar(true);

// Checks whether the form has a progress bar and logs it to the console.
console.log(form.hasProgressBar());

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario muestra una barra de progreso; false si no aparece.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setPublishingSummary(enabled)

Establece si el formulario muestra un vínculo para ver un resumen de las respuestas después de que un encuestado envía el formulario. El valor predeterminado de los formularios nuevos es false.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe mostrar el vínculo "Ver respuestas anteriores"; si no es así, false.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setRequireLogin(requireLogin)

Establece si el formulario requiere que los encuestados accedan a una cuenta en el mismo dominio o un subdominio antes de responder. El valor predeterminado de los formularios nuevos es false, a menos que un administrador de dominio cambie el predeterminado.

Esta función solo está disponible para los formularios que crearon los usuarios de Google Workspace. No se puede requerir el acceso a usuarios de otros tipos de Cuentas de Google.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Sets the form so that users must log in to their Google Workspace account.
form.setRequireLogin(true);

// Checks whether the form requires login or not and logs it to the console.
console.log(form.requiresLogin());

Parámetros

NombreTipoDescripción
requireLoginBooleantrue si el formulario requiere que los usuarios accedan; false si no lo hace.

Volver

Form: Es el formulario actual (para encadenar).

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShowLinkToRespondAgain(enabled)

Establece si el formulario muestra un vínculo para enviar otra respuesta después de que el encuestado complete el formulario. El valor predeterminado de los formularios nuevos es true.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe mostrar el vínculo "Enviar otra respuesta"; false si no es así.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShuffleQuestions(shuffle)

Establece si el orden de las preguntas en cada página del formulario es aleatorio.

Parámetros

NombreTipoDescripción
shuffleBooleantrue si el orden de las preguntas en cada página del formulario debe ser aleatorio; false si no es aleatorio.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setTitle(title)

Establece el título del formulario.

Parámetros

NombreTipoDescripción
titleStringEl título nuevo del formulario.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

shortenFormUrl(url)

Convierte una URL larga de un formulario en una URL corta. Muestra una excepción si la URL larga no pertenece a Formularios de Google.

Parámetros

NombreTipoDescripción
urlStringLa URL que se debe acortar.

Volver

String: Es una URL en el formato http://goo.gl/forms/1234.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

submitGrades(responses)

Envía calificaciones para las FormResponses proporcionadas.

Si tu código incluye un activador onFormSubmit, la llamada a submitGrades() activa la condición onFormSubmit y provoca un bucle infinito. Para evitar el bucle infinito, agrega código que verifique si las calificaciones ya existen antes de llamar a submitGrades().

Parámetros

NombreTipoDescripción
responsesFormResponse[]Es un array de todas las respuestas del formulario.

Volver

Form: Este Form, para encadenar

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms