Class Form

Form

Es un formulario que contiene propiedades y elementos generales. Las propiedades incluyen el título, la configuración y el lugar donde se almacenan las respuestas. Los elementos incluyen elementos de pregunta, como casillas de verificación o botones de selección, mientras que los elementos de diseño hacen referencia a elementos como los saltos de página. Se puede acceder a los formularios o crearlos desde FormApp.

// Open a form by ID and create a new spreadsheet.
const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
const 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 de 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 opcional de "otro".
addDateItem()DateItemAgrega un nuevo elemento de pregunta 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 una duración.
addEditor(emailAddress)FormAgrega el usuario determinado a la lista de editores de Form.
addEditor(user)FormAgrega el 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 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 de una secuencia de botones de selección.
addImageItem()ImageItemAgrega un nuevo elemento de diseño que muestra una imagen.
addListItem()ListItemAgrega un nuevo elemento de pregunta que permite al encuestado seleccionar una opción de una lista desplegable.
addMultipleChoiceItem()MultipleChoiceItemAgrega un nuevo elemento de pregunta que permite que el encuestado seleccione 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 un nuevo elemento de 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 comienzo 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 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 las personas que responden.
createResponse()FormResponseCrea una respuesta nueva en el formulario.
deleteAllResponses()FormBorra todas las respuestas enviadas del almacén de respuestas del formulario.
deleteItem(index)voidBorra el elemento en 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 cadena vacía si no se configuró ningún mensaje personalizado.
getDescription()StringObtiene la descripción del formulario.
getDestinationId()StringObtiene el ID del destino de respuesta del formulario.
getDestinationType()DestinationTypeObtiene el tipo de destino de 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 persona.
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 un participante completa el formulario.
isAcceptingResponses()BooleanDetermina si el formulario acepta respuestas en un momento determinado.
isPublishingSummary()BooleanDetermina si el formulario muestra un vínculo para ver un resumen de las respuestas después de que una persona que responde 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 de Form.
removeEditor(user)FormQuita al usuario determinado de la lista de editores de Form.
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.
setConfirmationMessage(message)FormEstablece el mensaje de confirmación del formulario.
setCustomClosedFormMessage(message)FormEstablece 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 una sola respuesta por persona.
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 usuario lo envía.
setShowLinkToRespondAgain(enabled)FormEstablece si el formulario muestra un vínculo para enviar otra respuesta después de que un encuestado lo complete.
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 determinadas.

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

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 ámbitos:

  • 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 opcional de "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']);

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 ámbitos:

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

addDateItem()

Agrega un nuevo elemento de 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.');

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 ámbitos:

  • 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 ámbitos:

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

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 ámbitos:

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

addEditor(emailAddress)

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

Parámetros

NombreTipoDescripción
emailAddressStringLa dirección de correo electrónico del usuario que quieres 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 ámbitos:

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

addEditor(user)

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

Parámetros

NombreTipoDescripción
userUserEs una 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 ámbitos:

  • 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 lo quita de la lista.

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 ámbitos:

  • 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 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 ámbitos:

  • 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 ámbitos:

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

addListItem()

Agrega un nuevo elemento de pregunta que permite al encuestado seleccionar 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 ámbitos:

  • 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 seleccione 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]);

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 ámbitos:

  • 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 ámbitos:

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

addParagraphTextItem()

Agrega un nuevo elemento de 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?');

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 ámbitos:

  • 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 ámbitos:

  • 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 comienzo 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 ámbitos:

  • 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 ámbitos:

  • 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 ámbitos:

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

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 ámbitos:

  • 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 este parámetro de configuración, el método FormResponse.getEditResponseUrl() permite que un autor de secuencia de comandos que tenga acceso de edición al formulario genere una URL que se pueda 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: true si el formulario muestra un vínculo "Editar tu respuesta"; false si no lo muestra.

Autorización

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

  • 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.

// 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 ámbitos:

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

createResponse()

Crea una respuesta nueva en el formulario. Para responder un elemento de pregunta, crea un ItemResponse a partir del elemento y, luego, adjúntalo a esta respuesta del formulario llamando a FormResponse.withItemResponse(response). Para guardar la respuesta ensamblada, llama a FormResponse.submit().

Volver

FormResponse: Es la respuesta del formulario 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 ámbitos:

  • 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 las 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 ámbitos:

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

deleteItem(index)

Borra el elemento en un índice determinado entre todos los elementos del formulario. Lanza 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
indexIntegerEs el índice del elemento entre todos los elementos del formulario.

Arroja

Error: Si no existe ningún 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 ámbitos:

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

deleteItem(item)

Borra el elemento determinado. Genera 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
itemItemEs el 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 ámbitos:

  • 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 quita la respuesta de la vista de resumen del formulario. El ID de respuesta se puede recuperar con FormResponse.getId().

Parámetros

NombreTipoDescripción
responseIdStringEs el 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 ámbitos:

  • 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 ámbitos:

  • 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 configuró ningún 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 mostrará si el formulario no acepta respuestas, o una cadena vacía si no se configuró 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 ámbitos:

  • 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 ámbitos:

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

getDestinationId()

Obtiene el ID del destino de 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 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 ámbitos:

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

getDestinationType()

Obtiene el tipo de destino de 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 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 ámbitos:

  • 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 ámbitos:

  • 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 ámbitos:

  • 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 ámbitos:

  • 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
idIntegerEs el 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 ámbitos:

  • 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 ámbitos:

  • 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
itemTypeItemTypeEs el 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 ámbitos:

  • 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 el formulario.

Autorización

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

  • 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 IDs de respuesta se pueden recuperar de FormResponse.getId().

Parámetros

NombreTipoDescripción
responseIdStringEl 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 ámbitos:

  • 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 ámbitos:

  • 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
timestampDateEs la fecha y hora más antiguas 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 ámbitos:

  • 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: Es true si el orden de las preguntas en cada página del formulario es aleatorio; false, de lo contrario.

Autorización

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

  • 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) se establezca como true, solo los usuarios con permiso de edición en el 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 ámbitos:

  • 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 ámbitos:

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

hasLimitOneResponsePerUser()

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

Volver

Boolean: true si el formulario solo permite una respuesta por persona, false si no.

Autorización

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

  • 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: true si el formulario muestra una barra de progreso; false si no la muestra.

Autorización

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

  • 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 un participante 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());

Volver

Boolean: true si el formulario muestra un vínculo "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 ámbitos:

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

isAcceptingResponses()

Determina si el formulario acepta respuestas en un momento 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',
);

// 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: Es true si el formulario acepta respuestas; 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 ámbitos:

  • 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 una persona que responde 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: true si el formulario muestra un vínculo "Ver respuestas anteriores"; false si no lo muestra.

Autorización

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

  • 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: Es true si el formulario acepta respuestas; 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 ámbitos:

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

Volver

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 ámbitos:

  • 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. Genera 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 índice nuevo del elemento entre todos los elementos del formulario.

Volver

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 ámbitos:

  • 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 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 ámbitos:

  • 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 Form se comparte con todo el dominio del usuario o si Form se encuentra 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 con permiso de lectura.

Parámetros

NombreTipoDescripción
emailAddressStringEs la dirección de correo electrónico del usuario que quieres 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 ámbitos:

  • 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 Form se comparte con todo el dominio del usuario o si Form se encuentra 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 con permiso de lectura.

Parámetros

NombreTipoDescripción
userUserEs una representación 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 ámbitos:

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

setAcceptingResponses(enabled)

Establece si el formulario acepta respuestas en este momento. 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.

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 ámbitos:

  • 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 este parámetro de configuración, el método FormResponse.getEditResponseUrl() permite que un autor de secuencia de comandos que tenga permiso de edición en el formulario genere una URL que se pueda 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 "Editar tu respuesta"; false de lo contrario.

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 ámbitos:

  • 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 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 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 ámbitos:

  • 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
messageStringEs el 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 ámbitos:

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

setCustomClosedFormMessage(message)

Establece el mensaje que se mostrará si el formulario no acepta respuestas. Si no se establece un mensaje, el formulario usa uno 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.

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 ámbitos:

  • 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 ámbitos:

  • 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 aquellos 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 respuesta del formulario.
idStringEl ID del destino de 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 ámbitos:

  • 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 los cuestionarios, por lo que si estableces este valor en false, se quitarán todas las opciones de calificación de todas las preguntas.

La configuración de cuestionarios solo está disponible en la nueva IU de Formularios. Si conviertes un formulario en un cuestionario, este se usará con 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 se deben habilitar las funciones de cuestionario para el formulario; 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 ámbitos:

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

setLimitOneResponsePerUser(enabled)

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

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe permitir solo una respuesta por persona que responde; 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 ámbitos:

  • 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 la muestra.

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 ámbitos:

  • 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 usuario lo envía. El valor predeterminado para los formularios nuevos es false.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe mostrar un vínculo "Ver respuestas anteriores"; 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 ámbitos:

  • 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 un encuestado lo complete. El valor predeterminado para los formularios nuevos es true.

Parámetros

NombreTipoDescripción
enabledBooleantrue si el formulario debe mostrar un vínculo "Enviar otra 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 ámbitos:

  • 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.

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 ámbitos:

  • 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
titleStringEs el nuevo título 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 ámbitos:

  • 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 acortará.

Volver

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 ámbitos:

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

submitGrades(responses)

Envía calificaciones para las FormResponses determinadas.

Si tu código incluye un activador onFormSubmit, llamar a submitGrades() activa la condición onFormSubmit y genera un bucle infinito. Para evitar el bucle infinito, agrega código que verifique si ya existen calificaciones 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 ámbitos:

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

Métodos obsoletos