Class Form

Form

Un formulario que contiene propiedades y elementos generales. Las propiedades incluyen el título, la configuración y la ubicación en la que 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 se refieren a elementos como saltos de página. Puedes crear formularios o acceder a ellos 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 la persona que responde seleccione varias opciones por fila a partir de una secuencia de casillas de verificación.
addCheckboxItem()CheckboxItemAgrega una pregunta nueva que permite que el encuestado seleccione una o más casillas de verificación, además de un campo opcional "otro".
addDateItem()DateItemAgrega una nueva pregunta que permite que el encuestado indique una fecha.
addDateTimeItem()DateTimeItemAgrega una nueva pregunta que permite que el encuestado indique una fecha y hora.
addDurationItem()DurationItemAgrega una nueva pregunta que permite que el encuestado indique una duración.
addEditor(emailAddress)FormAgrega el usuario determinado a la lista de editores del Form.
addEditor(user)FormAgrega el usuario determinado a la lista de editores del Form.
addEditors(emailAddresses)FormAgrega el array de usuarios determinado a la lista de editores del Form.
addGridItem()GridItemAgrega un nuevo elemento de pregunta, presentado como una cuadrícula de columnas y filas, que permite que la persona que responde seleccione una opción por fila a partir de una secuencia de botones de selección.
addImageItem()ImageItemAgrega un nuevo elemento de diseño que muestra una imagen.
addListItem()ListItemAgrega una pregunta nueva que permite que el encuestado seleccione una opción de una lista desplegable.
addMultipleChoiceItem()MultipleChoiceItemAgrega un nuevo elemento de pregunta que permite que el encuestado elija una opción de una lista de botones de selección o un campo opcional "otro".
addPageBreakItem()PageBreakItemAgrega un nuevo elemento de diseño que marca el inicio de una página.
addParagraphTextItem()ParagraphTextItemAgrega una nueva pregunta 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 una nueva pregunta que permite que el encuestado ingrese una sola línea de texto.
addTimeItem()TimeItemAgrega una nueva pregunta que permite que el encuestado indique una hora del día.
addVideoItem()VideoItemAgrega un nuevo elemento de diseño que 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 los encuestados.
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 especificado.
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 cadena vacía si no se configura un mensaje personalizado.
getDescription()StringObtiene la descripción del formulario.
getDestinationId()StringObtiene el ID del destino de las respuestas del formulario.
getDestinationType()DestinationTypeObtiene el tipo del destino de las respuestas 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 para 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 respuesta de formulario único en función de 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 solo una 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 completa el formulario.
isAcceptingResponses()BooleanDetermina si el formulario acepta respuestas actualmente.
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 de 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 de su destino de respuesta actual.
removeEditor(emailAddress)FormQuita al usuario determinado de la lista de editores del Form.
removeEditor(user)FormQuita al usuario determinado de la lista de editores del Form.
requiresLogin()BooleanDetermina si el formulario requiere que los encuestados accedan a una cuenta en el mismo dominio o en un subdominio antes de responder.
setAcceptingResponses(enabled)FormEstablece si el formulario acepta respuestas en la actualidad.
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 los encuestados.
setConfirmationMessage(message)FormEstablece el mensaje de confirmación del formulario.
setCustomClosedFormMessage(message)FormConfigura el mensaje que se mostrará si el formulario no acepta respuestas.
setDescription(description)FormEstablece la descripción del formulario.
setDestination(type, id)FormEstablece el destino en el que se guardan las respuestas del formulario.
setIsQuiz(enabled)FormEstablece si el formulario es un cuestionario.
setLimitOneResponsePerUser(enabled)FormEstablece si el formulario permite solo una 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 el encuestado envía el formulario.
setRequireLogin(requireLogin)FormEstablece si el formulario requiere que los encuestados accedan a una cuenta del mismo dominio o de 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 completa 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 las calificaciones de 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 la persona que responde seleccione varias opciones por fila a partir de 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']);

Devolvedor

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 una pregunta nueva que permite que el encuestado seleccione una o más casillas de verificación, además de un campo opcional "otro".

// 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']);

Devolvedor

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 una nueva pregunta 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.');

Devolvedor

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 una nueva 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);

Devolvedor

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 una nueva pregunta que permite que el encuestado indique una duració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 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);

Devolvedor

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 el usuario determinado a la lista de editores del Form. Si el usuario ya estaba en la lista de usuarios, este método quita al usuario de la lista.

Parámetros

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

Devolvedor

Form: Es este Form para encadenamiento.

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 el usuario determinado a la lista de editores del Form. Si el usuario ya estaba en la lista de usuarios, este método quita al usuario de la lista.

Parámetros

NombreTipoDescripción
userUserEs una representación del usuario que se agregará.

Devolvedor

Form: Es este Form para encadenamiento.

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 del Form. Si alguno de los usuarios ya estaba en la lista de usuarios, este método lo quita de la lista de usuarios.

Parámetros

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

Devolvedor

Form: Es este Form para encadenamiento.

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 nuevo elemento de pregunta, presentado como una cuadrícula de columnas y filas, que permite que la persona que responde seleccione una opción por fila a partir 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']);

Devolvedor

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);

Devolvedor

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 una pregunta nueva 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')
]);

Devolvedor

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 nuevo elemento de pregunta que permite que el encuestado elija una opción de una lista de botones de selección o un campo opcional "otro".

// 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]);

Devolvedor

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);

Devolvedor

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 una nueva pregunta 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?');

Devolvedor

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');

Devolvedor

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');

Devolvedor

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 una nueva 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?');

Devolvedor

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 una nueva 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?');

Devolvedor

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 que 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);

Devolvedor

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.

Independientemente de 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);

Devolvedor

Boolean: Es true si el formulario muestra un vínculo "Edita 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 los encuestados.

// 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);

Devolvedor

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 una pregunta, crea una ItemResponse a partir del elemento y, luego, llama a FormResponse.withItemResponse(response) para adjuntarla a esta respuesta del formulario. Para guardar la respuesta creada, llama a FormResponse.submit().

Devolvedor

FormResponse: 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 las copias de respuestas almacenadas en un destino de respuesta externo (como una hoja de cálculo), pero sí borra la vista de resumen del formulario.

Devolvedor

Form: Es este Form para encadenamiento.

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 secuencia de comandos si no existe un 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
indexIntegerEs el índice del elemento entre todos los elementos del formulario.

Arroja

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

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 especificado. Muestra una excepción de secuencia 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 las copias de las respuestas almacenadas en un destino de respuesta externo (como una hoja de cálculo), pero la quita 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á.

Devolvedor

Form: Es este Form para encadenamiento.

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);

Devolvedor

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 cadena 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);

Devolvedor

String: Es el mensaje personalizado que se muestra si el formulario no acepta respuestas, o una string vacía si no se configura un 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);

Devolvedor

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 las respuestas 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);

Devolvedor

String: Es el ID del destino de 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 las respuestas 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);

Devolvedor

DestinationType: Es el tipo de destino de 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);

Devolvedor

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 para este Form.

Devolvedor

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);

Devolvedor

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.

Devolvedor

Item: Es el elemento con el ID proporcionado, o bien 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);

Devolvedor

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.

Devolvedor

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);

Devolvedor

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 respuesta de formulario único en función de su ID de respuesta. Los IDs de respuesta se pueden recuperar desde FormResponse.getId().

Parámetros

NombreTipoDescripción
responseIdStringEl ID de la respuesta del formulario.

Devolvedor

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.

Devolvedor

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 fecha y hora más antiguas para las que se deben mostrar las respuestas del formulario.

Devolvedor

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.

Devolvedor

Boolean: true si el orden de las preguntas en cada página del formulario es aleatorio; 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

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 para el formulario pueden 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);

Devolvedor

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);

Devolvedor

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 solo una respuesta por encuestado. Si el valor es true, la secuencia de comandos no puede enviar respuestas del formulario en absoluto.

Devolvedor

Boolean: true si el formulario permite solo una 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());

Devolvedor

Boolean: Es true si el formulario muestra una barra de progreso; 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

Determina si el formulario muestra un vínculo para enviar otra respuesta 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 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());

Devolvedor

Boolean: Es true si el formulario muestra un vínculo "Enviar otra respuesta"; 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

isAcceptingResponses()

Determina si el formulario acepta respuestas actualmente.

// 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);

Devolvedor

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);

Devolvedor

Boolean: Es true si el formulario muestra un vínculo "Ver respuestas anteriores"; 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

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());

Devolvedor

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 de un índice determinado entre todos los elementos del formulario a otro índice determinado. Si el índice to está fuera de los límites, muestra una excepción de secuencia de comandos.

// 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
fromIntegerEs el índice actual del elemento entre todos los elementos del formulario.
toIntegerEs el índice nuevo del elemento entre todos los elementos del formulario.

Devolvedor

Item: Es 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. Si el índice está fuera de los límites, muestra una excepción de secuencia de comandos.

// 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 va a mover.
toIndexIntegerEs el índice nuevo del elemento entre todos los elementos del formulario.

Devolvedor

Item: Es 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 de su 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 configurado de forma explícita, guarda una copia de las respuestas en el almacén de respuestas del formulario. Si el formulario no tiene un destino de respuesta en la actualidad, 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();

Devolvedor

Form: Es este Form para encadenamiento.

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 del 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 Form se comparte 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, esta acción también quita al usuario de la lista de lectores.

Parámetros

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

Devolvedor

Form: Es este Form para encadenamiento.

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 del 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 Form se comparte 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, esta acción también quita al usuario de la lista de lectores.

Parámetros

NombreTipoDescripción
userUserEs una representación del usuario que se quitará.

Devolvedor

Form: Es este Form para encadenamiento.

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 en un 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);

Devolvedor

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


setAcceptingResponses(enabled)

Establece si el formulario acepta respuestas en la actualidad. El valor predeterminado para 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

Devolvedor

Form: Es este Form para encadenamiento.

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.

Independientemente de esta configuración, el método FormResponse.getEditResponseUrl() permite que un autor de la secuencia de comandos que tiene permiso de edición para el 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 un vínculo "Edita tu respuesta"; false si no lo hace.

Devolvedor

Form: Es este Form para encadenamiento.

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 los encuestados. 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
collectBooleanEs true si el formulario debe recopilar direcciones de correo electrónico; false si no lo hace.

Devolvedor

Form: Es este Form para encadenamiento.

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.

Devolvedor

Form: Es este Form para encadenamiento.

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 que se mostrará si el formulario no acepta respuestas. Si no se configura 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
messageStringEs el mensaje que se mostrará si el formulario no acepta respuestas.

Devolvedor

Form: Es este Form para encadenamiento.

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.

Devolvedor

Form: Es este Form para encadenamiento.

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 en el que se guardan las respuestas del formulario. Todos los formularios, incluidos los que no tienen un destino establecido de forma explícita, guarda una copia de las respuestas en el almacén de respuestas del formulario.

Parámetros

NombreTipoDescripción
typeDestinationTypeEs el destino de las respuestas del formulario.
idStringEs el ID del destino de las respuestas del formulario.

Devolvedor

Form: Es este Form para encadenamiento.

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 para los formularios nuevos es false.

Las preguntas con calificación solo se permiten en la sección Cuestionarios. Por lo tanto, si estableces esta opción en false, se quitarán todas las opciones de calificación de todas las preguntas.

La configuración de cuestionario solo está disponible en la nueva IU de Formularios; si creas un formulario, este se habilitará para usar en la nueva IU.

// 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 de cuestionario deben habilitarse para el formulario; false si no lo están.

Devolvedor

Form: Es este Form para encadenamiento.

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 solo una respuesta por encuestado. El valor predeterminado para los formularios nuevos es false. Si el valor se establece en true, la secuencia de comandos no podrá enviar respuestas del formulario.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe permitir solo una respuesta por encuestado; false si no lo hace.

Devolvedor

Form: Es este Form para encadenamiento.

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 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');

// 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 lo hace.

Devolvedor

Form: Es este Form para encadenamiento.

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 el encuestado envía el formulario. El valor predeterminado para los formularios nuevos es false.

Parámetros

NombreTipoDescripción
enabledBooleanUsa true si el formulario debe mostrar un vínculo "Ver respuestas anteriores"; de lo contrario, false.

Devolvedor

Form: Es este Form para encadenamiento.

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 del mismo dominio o de un subdominio antes de responder. El valor predeterminado para los formularios nuevos es false, a menos que un administrador de dominio lo cambie.

Esta función solo está disponible para formularios creados por usuarios de Google Workspace. No se puede requerir que los usuarios de otros tipos de Cuentas de Google accedan.

// 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
requireLoginBooleanUsa true si el formulario requiere que los usuarios accedan a una cuenta y false si no lo hace.

Devolvedor

Form: Es la forma actual (para el encadenamiento).

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 completa el formulario. El valor predeterminado para los formularios nuevos es true.

Parámetros

NombreTipoDescripción
enabledBooleanUsa true si el formulario debe mostrar un vínculo “Enviar otra respuesta”; de lo contrario, false.

Devolvedor

Form: Es este Form para encadenamiento.

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 así.

Devolvedor

Form: Es este Form para encadenamiento.

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
titleStringTítulo nuevo del formulario.

Devolvedor

Form: Es este Form para encadenamiento.

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 a acortar.

Devolvedor

String: Es una URL con 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 las calificaciones de las FormResponses proporcionadas.

Si tu código incluye un activador onFormSubmit, llamar 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.

Devolvedor

Form: Es este Form para encadenamiento.

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