Class Form

Formulário

Um formulário que contém propriedades e itens gerais. As propriedades incluem título, configurações e onde respostas são armazenadas. Os itens incluem perguntas como caixas de seleção ou opções, enquanto o layout se referem a elementos como quebras de página. Os formulários podem ser acessados ou criados no 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 retornoBreve descrição
addCheckboxGridItem()CheckboxGridItemAnexa um novo item de pergunta, apresentado como uma grade de colunas e linhas, que permite que a entrevistado selecione várias opções por linha em uma sequência de caixas de seleção.
addCheckboxItem()CheckboxItemAcrescenta um novo item de pergunta que permite que o respondente marque uma ou mais caixas de seleção, conforme e um "outro" opcional, .
addDateItem()DateItemAnexa um novo item de pergunta que permite ao entrevistado indicar uma data.
addDateTimeItem()DateTimeItemAnexa um novo item de pergunta que permite ao participante indicar uma data e hora.
addDurationItem()DurationItemAnexa um novo item de pergunta que permite ao entrevistado indicar um período de tempo.
addEditor(emailAddress)FormAdiciona o usuário especificado à lista de editores do Form.
addEditor(user)FormAdiciona o usuário especificado à lista de editores do Form.
addEditors(emailAddresses)FormAdiciona a matriz de usuários especificada à lista de editores do Form.
addGridItem()GridItemAnexa um novo item de pergunta, apresentado como uma grade de colunas e linhas, que permite que a participante selecione uma opção por linha em uma sequência de botões de opção.
addImageItem()ImageItemAnexa um novo item de layout que exibe uma imagem.
addListItem()ListItemAnexa um novo item de pergunta que permite ao participante selecionar uma opção em uma lista suspensa lista.
addMultipleChoiceItem()MultipleChoiceItemAdiciona um novo item de pergunta que permite ao participante selecionar uma opção em uma lista de opções ou um "outro" opcional .
addPageBreakItem()PageBreakItemAdiciona um novo item de layout que marca o início de uma página.
addParagraphTextItem()ParagraphTextItemAdiciona um novo item de pergunta que permite ao participante inserir um bloco de texto.
addScaleItem()ScaleItemAnexa um novo item de pergunta que permite ao participante escolher uma opção de uma pergunta numerada de botões de opção.
addSectionHeaderItem()SectionHeaderItemAnexa um novo item de layout que indica visualmente o início de uma seção.
addTextItem()TextItemAnexa um novo item de pergunta que permite ao participante inserir uma única linha de texto.
addTimeItem()TimeItemAnexa um novo item de pergunta que permite ao entrevistado indicar uma hora do dia.
addVideoItem()VideoItemAnexa um novo item de layout que exibe um vídeo.
canEditResponse()BooleanDetermina se o formulário exibe um link para editar uma resposta após o envio.
collectsEmail()BooleanDetermina se o formulário coleta dados dos entrevistados endereços de e-mail.
createResponse()FormResponseCria uma nova resposta para o formulário.
deleteAllResponses()FormExclui todas as respostas enviadas do armazenamento de respostas do formulário.
deleteItem(index)voidExclui o item em um determinado índice entre todos os itens do formulário.
deleteItem(item)voidExclui o item especificado.
deleteResponse(responseId)FormExclui uma única resposta do armazenamento de respostas do formulário.
getConfirmationMessage()StringRecebe a mensagem de confirmação do formulário.
getCustomClosedFormMessage()StringRecebe a mensagem personalizada que será exibida se o formulário não aceitar respostas ou uma resposta se nenhuma mensagem personalizada for definida.
getDescription()StringExtrai a descrição do formulário.
getDestinationId()StringExtrai o ID do destino da resposta do formulário.
getDestinationType()DestinationTypeRecebe o tipo de destino da resposta do formulário.
getEditUrl()StringRecebe o URL que pode ser usado para acessar o modo de edição do formulário.
getEditors()User[]Recebe a lista de editores desse Form.
getId()StringExtrai o ID do formulário.
getItemById(id)ItemRecupera o item com um determinado ID.
getItems()Item[]Recebe uma matriz de todos os itens do formulário.
getItems(itemType)Item[]Recebe uma matriz de todos os itens de um determinado tipo.
getPublishedUrl()StringRecebe o URL que pode ser usado para responder ao formulário.
getResponse(responseId)FormResponseRecebe uma única resposta do formulário com base no ID de resposta.
getResponses()FormResponse[]Recebe uma matriz de todas as respostas do formulário.
getResponses(timestamp)FormResponse[]Recebe uma matriz de todas as respostas do formulário após uma determinada data e hora.
getShuffleQuestions()BooleanDetermina se a ordem das perguntas em cada página do formulário é aleatória.
getSummaryUrl()StringExtrai o URL que pode ser usado para visualizar um resumo das respostas do formulário.
getTitle()StringRecebe o título do formulário.
hasLimitOneResponsePerUser()BooleanDetermina se o formulário permite apenas uma resposta por participante.
hasProgressBar()BooleanDetermina se o formulário exibe uma barra de progresso.
hasRespondAgainLink()BooleanDetermina se o formulário exibe um link para enviar outra resposta após um participante preenche o formulário.
isAcceptingResponses()BooleanDetermina se o formulário está aceitando respostas.
isPublishingSummary()BooleanDetermina se o formulário exibe um link para visualizar um resumo das respostas após um participante preenche o formulário.
isQuiz()BooleanDetermina se o formulário é um teste.
moveItem(from, to)ItemMove um item em um determinado índice entre todos os itens do formulário para outro índice específico.
moveItem(item, toIndex)ItemMove um determinado item para um índice específico entre todos os itens do formulário.
removeDestination()FormDesvincula o formulário do destino da resposta atual.
removeEditor(emailAddress)FormRemove o usuário especificado da lista de editores do Form.
removeEditor(user)FormRemove o usuário especificado da lista de editores do Form.
requiresLogin()BooleanDetermina se o formulário exige que os participantes façam login em uma conta no mesmo domínio ou um subdomínio antes de responder.
setAcceptingResponses(enabled)FormDefine se o formulário está aceitando respostas.
setAllowResponseEdits(enabled)FormDefine se o formulário exibe um link para editar uma resposta após o envio.
setCollectEmail(collect)FormDefine se o formulário coleta dados endereços de e-mail.
setConfirmationMessage(message)FormDefine a mensagem de confirmação do formulário.
setCustomClosedFormMessage(message)FormDefine a mensagem a ser exibida se o formulário não aceitar respostas.
setDescription(description)FormDefine a descrição do formulário.
setDestination(type, id)FormDefine o destino em que as respostas do formulário são salvas.
setIsQuiz(enabled)FormDefine se o formulário é um teste.
setLimitOneResponsePerUser(enabled)FormDefine se o formulário permite apenas uma resposta por participante.
setProgressBar(enabled)FormDefine se o formulário tem uma barra de progresso.
setPublishingSummary(enabled)FormDefine se o formulário exibe um link para visualizar um resumo das respostas após o envio de um participante no formulário.
setRequireLogin(requireLogin)FormDefine se o formulário exige que os entrevistados façam login em uma conta no mesmo domínio ou em um subdomínio antes de responder.
setShowLinkToRespondAgain(enabled)FormDefine se o formulário exibe um link para enviar outra resposta após a conclusão do participante no formulário.
setShuffleQuestions(shuffle)FormDefine se a ordem das perguntas em cada página do formulário é aleatória.
setTitle(title)FormDefine o título do formulário.
shortenFormUrl(url)StringConverte um URL longo de um formulário em um URL curto.
submitGrades(responses)FormEnvia notas para os FormResponses fornecidos.

Documentação detalhada

addCheckboxGridItem()

Anexa um novo item de pergunta, apresentado como uma grade de colunas e linhas, que permite que a entrevistado selecione várias opções por linha em uma sequência de caixas de seleção.

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

Retornar

CheckboxGridItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addCheckboxItem()

Acrescenta um novo item de pergunta que permite que o respondente marque uma ou mais caixas de seleção, conforme e um "outro" opcional, .

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

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

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

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

Retornar

CheckboxItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addDateItem()

Anexa um novo item de pergunta que permite ao entrevistado indicar uma data.

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

Retornar

DateItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addDateTimeItem()

Anexa um novo item de pergunta que permite ao participante indicar uma data e 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);

Retornar

DateTimeItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addDurationItem()

Anexa um novo item de pergunta que permite ao entrevistado indicar um período de tempo.

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

Retornar

DurationItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addEditor(emailAddress)

Adiciona o usuário especificado à lista de editores do Form. Se o usuário já estava na lista de visualizadores, esse método promove o usuário para fora da lista de leitores.

Parâmetros

NomeTipoDescrição
emailAddressStringEndereço de e-mail do usuário a ser adicionado.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addEditor(user)

Adiciona o usuário especificado à lista de editores do Form. Se o usuário já estava na lista de visualizadores, esse método promove o usuário para fora da lista de leitores.

Parâmetros

NomeTipoDescrição
userUserUma representação do usuário a ser adicionado.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addEditors(emailAddresses)

Adiciona a matriz de usuários especificada à lista de editores do Form. Se algum dos usuários já estavam na lista de visualizadores, este método os promove para fora da lista de os espectadores.

Parâmetros

NomeTipoDescrição
emailAddressesString[]Uma matriz de endereços de e-mail dos usuários a serem adicionados.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addGridItem()

Anexa um novo item de pergunta, apresentado como uma grade de colunas e linhas, que permite que a participante selecione uma opção por linha em uma sequência de botões de opção.

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

Retornar

GridItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addImageItem()

Anexa um novo item de layout que exibe uma imagem.

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

Retornar

ImageItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addListItem()

Anexa um novo item de pergunta que permite ao participante selecionar uma opção em uma lista suspensa lista.

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

Retornar

ListItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addMultipleChoiceItem()

Adiciona um novo item de pergunta que permite ao participante selecionar uma opção em uma lista de opções ou um "outro" opcional .

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

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

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

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

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

Retornar

MultipleChoiceItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addPageBreakItem()

Adiciona um novo item de layout que marca o início de uma 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);

Retornar

PageBreakItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addParagraphTextItem()

Adiciona um novo item de pergunta que permite ao participante inserir um bloco 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?');

Retornar

ParagraphTextItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addScaleItem()

Anexa um novo item de pergunta que permite ao participante escolher uma opção de uma pergunta numerada de botões de opção.

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

Retornar

ScaleItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addSectionHeaderItem()

Anexa um novo item de layout que indica visualmente o início de uma seção.

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

Retornar

SectionHeaderItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addTextItem()

Anexa um novo item de pergunta que permite ao participante inserir uma única linha 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?');

Retornar

TextItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addTimeItem()

Anexa um novo item de pergunta que permite ao entrevistado indicar uma hora do dia.

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

Retornar

TimeItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

addVideoItem()

Anexa um novo item de layout que exibe um vídeo.

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

Retornar

VideoItem: o item recém-criado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

canEditResponse()

Determina se o formulário exibe um link para editar uma resposta após o envio.

Independentemente dessa configuração, o método FormResponse.getEditResponseUrl() permite que uma autor do script que tem acesso de edição ao formulário para gerar um URL que pode ser usado para editar um resposta.

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

Retornar

Boolean: true se o formulário exibir uma mensagem "Editar sua resposta" link false se não funciona.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

collectsEmail()

Determina se o formulário coleta dados dos entrevistados endereços de e-mail.

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

Retornar

Boolean: true se o formulário coletar endereços de e-mail false se ele não tiver.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

createResponse()

Cria uma nova resposta para o formulário. Para responder a um item de pergunta, crie uma ItemResponse. do item e, em seguida, anexe-o a esta resposta do formulário chamando FormResponse.withItemResponse(response). Para salvar a resposta montada, chame FormResponse.submit().

Retornar

FormResponse: a resposta recém-criada do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

deleteAllResponses()

Exclui todas as respostas enviadas do armazenamento de respostas do formulário. Esse método não exclui cópias de respostas armazenadas em um destino de resposta externo (como uma planilha), mas não limpar a visualização resumida do formulário.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

deleteItem(index)

Exclui o item em um determinado índice entre todos os itens do formulário. Gera uma exceção de scripting se nenhum item existir em um determinado índice.

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

NomeTipoDescrição
indexIntegerO índice do item entre todos os itens do formulário.

Gera

Error: se nenhum item existir no índice especificado.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

deleteItem(item)

Exclui o item especificado. Gera uma exceção de scripting se o item já foi excluído.

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

NomeTipoDescrição
itemItemO item a ser excluído.

Gera

Error: se o item não existir no formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

deleteResponse(responseId)

Exclui uma única resposta do armazenamento de respostas do formulário. Esse método não exclui cópias do respostas armazenadas em um destino de resposta externo (como uma planilha), mas remove a na visualização resumida do formulário. O ID da resposta pode ser recuperado com FormResponse.getId().

Parâmetros

NomeTipoDescrição
responseIdStringO ID da resposta do formulário a ser excluída.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getConfirmationMessage()

Recebe a mensagem de confirmação do formulário.

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

Retornar

String: a mensagem de confirmação do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getCustomClosedFormMessage()

Recebe a mensagem personalizada que será exibida se o formulário não aceitar respostas ou uma resposta se nenhuma mensagem personalizada for definida.

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

Retornar

String: a mensagem personalizada a ser exibida se o formulário não aceitar respostas ou uma mensagem se nenhuma mensagem personalizada for definida.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getDescription()

Extrai a descrição do formulário.

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

Retornar

String: a descrição do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getDestinationId()

Extrai o ID do destino da resposta do formulário.

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

Retornar

String: o ID do destino da resposta do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getDestinationType()

Recebe o tipo de destino da resposta do formulário.

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

Retornar

DestinationType: o tipo de destino da resposta do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getEditUrl()

Recebe o URL que pode ser usado para acessar o modo de edição do formulário.

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

Retornar

String: o URL para editar o formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getEditors()

Recebe a lista de editores desse Form.

Retornar

User[]: uma matriz de usuários com permissão para edição.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getId()

Extrai o ID do formulário.

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

Retornar

String: o ID do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getItemById(id)

Recupera o item com um determinado ID. Retornará null se o ID não corresponder a um item no no formulário.

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

NomeTipoDescrição
idIntegerO ID do item.

Retornar

Item: o item com o ID fornecido ou null se o item não existir no formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getItems()

Recebe uma matriz de todos os itens do formulário.

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

Retornar

Item[]: uma matriz de todos os itens do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getItems(itemType)

Recebe uma matriz de todos os itens de um determinado tipo.

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

NomeTipoDescrição
itemTypeItemTypeO tipo de itens a serem recuperados.

Retornar

Item[]: uma matriz de todos os itens desse tipo.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getPublishedUrl()

Recebe o URL que pode ser usado para responder ao formulário.

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

Retornar

String: o URL para responder ao formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getResponse(responseId)

Recebe uma única resposta do formulário com base no ID de resposta. Os IDs de resposta podem ser recuperados de FormResponse.getId().

Parâmetros

NomeTipoDescrição
responseIdStringO ID da resposta do formulário.

Retornar

FormResponse: a resposta do formulário.

Gera

Error: se a resposta não existir

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getResponses()

Recebe uma matriz de todas as respostas do formulário.

Retornar

FormResponse[]: uma matriz de todas as respostas do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getResponses(timestamp)

Recebe uma matriz de todas as respostas do formulário após uma determinada data e hora.

Parâmetros

NomeTipoDescrição
timestampDateA data e o horário mais antigos em que as respostas do formulário devem ser retornadas.

Retornar

FormResponse[]: a lista de respostas do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getShuffleQuestions()

Determina se a ordem das perguntas em cada página do formulário é aleatória.

Retornar

Boolean: true se a ordem das perguntas em cada página do formulário for aleatória. Caso contrário, false.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getSummaryUrl()

Extrai o URL que pode ser usado para visualizar um resumo das respostas do formulário. A menos que setPublishingSummary(enabled) esteja definido como true, somente os usuários com permissão para edição das formulário consegue acessar o 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);

Retornar

String: o URL para ver um resumo das respostas.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

getTitle()

Recebe o título do formulário.

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

Retornar

String: o título do formulário.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

hasLimitOneResponsePerUser()

Determina se o formulário permite apenas uma resposta por participante. Se o valor for true, o script não poderá enviar respostas do formulário.

Retornar

Boolean: true se o formulário permitir apenas uma resposta por participante. Caso contrário, false.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

hasProgressBar()

Determina se o formulário exibe uma barra de progresso.

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

Retornar

Boolean: true se o formulário exibir uma barra de progresso. false se ele não tiver.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

Determina se o formulário exibe um link para enviar outra resposta após um participante preenche o formulário.

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

Retornar

Boolean: true se o formulário exibir a mensagem "Enviar outra resposta" link false se não funciona.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

isAcceptingResponses()

Determina se o formulário está aceitando respostas.

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

Retornar

Boolean: true se o formulário aceitar respostas. false, se não for.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

isPublishingSummary()

Determina se o formulário exibe um link para visualizar um resumo das respostas após um participante preenche o formulário.

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

Retornar

Boolean: true se o formulário exibir a mensagem "Ver respostas anteriores" link false se não funciona.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

isQuiz()

Determina se o formulário é um teste.

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

Retornar

Boolean: true se o formulário aceitar respostas. false, se não for.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

moveItem(from, to)

Move um item em um determinado índice entre todos os itens do formulário para outro índice específico. Gera uma exceção de scripting se o índice to estiver fora dos limites.

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

NomeTipoDescrição
fromIntegerÍndice atual do item entre todos os itens do formulário.
toIntegerO novo índice para o item entre todos os itens do formulário.

Retornar

Item: o item que foi movido.

Gera

Error: se algum dos índices estiver fora dos limites.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

moveItem(item, toIndex)

Move um determinado item para um índice específico entre todos os itens do formulário. Gera um script exceção se o índice especificado estiver fora dos limites.

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

NomeTipoDescrição
itemItemO item a ser movido.
toIndexIntegerO novo índice para o item entre todos os itens do formulário.

Retornar

Item: o item que foi movido.

Gera

Error: se o índice estiver fora dos limites.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

removeDestination()

Desvincula o formulário do destino da resposta atual. O antigo destino desvinculado ainda mantém uma cópia de todas as respostas anteriores. Todos os formulários, incluindo aqueles que não têm um destino definido explicitamente, salve um cópia das respostas no armazenamento de respostas do formulário. Se o formulário ainda não tiver um destino da resposta, esse método não terá efeito.

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

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

removeEditor(emailAddress)

Remove o usuário especificado da lista de editores do Form. Esse método não bloquear o acesso de usuários a Form se eles pertencerem a uma classe de usuários acesso geral, por exemplo, se o Form for compartilhado com todo o ou se Form estiver em um drive compartilhado que o usuário pode acessar.

Nos arquivos do Drive, isso também remove o usuário da lista de leitores.

Parâmetros

NomeTipoDescrição
emailAddressStringO endereço de e-mail do usuário a ser removido.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

removeEditor(user)

Remove o usuário especificado da lista de editores do Form. Esse método não bloquear o acesso de usuários a Form se eles pertencerem a uma classe de usuários acesso geral, por exemplo, se o Form for compartilhado com todo o ou se Form estiver em um drive compartilhado que o usuário pode acessar.

Nos arquivos do Drive, isso também remove o usuário da lista de leitores.

Parâmetros

NomeTipoDescrição
userUserUma representação do usuário a ser removido.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

requiresLogin()

Determina se o formulário exige que os participantes façam login em uma conta no mesmo domínio ou um subdomínio 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);

Retornar

Boolean: true se o formulário exigir que os usuários façam login. false se ele não tiver.


setAcceptingResponses(enabled)

Define se o formulário está aceitando respostas. O padrão para novos formulários é 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

NomeTipoDescrição
enabledBooleantrue se o formulário aceitar respostas. false se não precisar.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setAllowResponseEdits(enabled)

Define se o formulário exibe um link para editar uma resposta após o envio. O padrão para novos formulários é false.

Independentemente dessa configuração, o método FormResponse.getEditResponseUrl() permite que uma autor do script com permissão de edição no formulário para gerar um URL que pode ser usado para editar um resposta.

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

NomeTipoDescrição
enabledBooleantrue se o formulário precisar exibir uma mensagem "Edite sua resposta" link Caso contrário, false.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setCollectEmail(collect)

Define se o formulário coleta dados endereços de e-mail. O padrão para novos formulários é 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

NomeTipoDescrição
collectBooleantrue se o formulário coletar endereços de e-mail; false se não funciona.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setConfirmationMessage(message)

Define a mensagem de confirmação do formulário.

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

NomeTipoDescrição
messageStringA nova mensagem de confirmação do formulário.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setCustomClosedFormMessage(message)

Define a mensagem a ser exibida se o formulário não aceitar respostas. Se nenhuma mensagem for definida, o usa uma mensagem padrão.

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

NomeTipoDescrição
messageStringA mensagem a ser exibida se o formulário não aceitar respostas.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setDescription(description)

Define a descrição do formulário.

Parâmetros

NomeTipoDescrição
descriptionStringA nova descrição do formulário.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setDestination(type, id)

Define o destino em que as respostas do formulário são salvas. Todos os formulários, incluindo aqueles que não tiver um destino definido explicitamente, salve uma cópia das respostas no armazenamento de respostas automáticas.

Parâmetros

NomeTipoDescrição
typeDestinationTypeTipo de destino da resposta do formulário.
idStringO ID do destino da resposta do formulário.

Retornar

Form: este Form, para encadeamento.

Gera

Error: se o ID de destino fornecido for inválido.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setIsQuiz(enabled)

Define se o formulário é um teste. O padrão para novos formulários é false.

As perguntas com nota só são permitidas em testes. Portanto, definir como false faz com que todas opções de avaliação sejam removidas de todas as perguntas.

As configurações de testes só estão disponíveis na nova interface do Formulários. criar um formulário de teste opta pelo formulário a usar a nova interface.

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

NomeTipoDescrição
enabledBooleantrue se os recursos de teste precisarem estar ativados para o formulário; false se não.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setLimitOneResponsePerUser(enabled)

Define se o formulário permite apenas uma resposta por participante. O padrão para novos formulários é false: Se o valor for definido como true, o script não poderá enviar as respostas do formulário tudo.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário permitir apenas uma resposta por participante. Caso contrário, false.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setProgressBar(enabled)

Define se o formulário tem uma barra de progresso. O padrão para novos formulários é 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

NomeTipoDescrição
enabledBooleantrue se o formulário exibir uma barra de progresso. false se ele não tiver.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setPublishingSummary(enabled)

Define se o formulário exibe um link para visualizar um resumo das respostas após o envio de um participante no formulário. O padrão para novos formulários é false.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário precisar exibir a opção "Ver respostas anteriores" link Caso contrário, false.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setRequireLogin(requireLogin)

Define se o formulário exige que os entrevistados façam login em uma conta no mesmo domínio ou em um subdomínio antes de responder. O padrão para novos formulários é false, a menos que um domínio administrador altera o padrão.

Esse recurso está disponível apenas para formulários criados por usuários do Google Workspace. Usuários de outros serviços tipos de Conta do Google não podem ser obrigados a fazer login.

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

NomeTipoDescrição
requireLoginBooleantrue se o formulário exigir que os usuários façam login; false se não funciona.

Retornar

Form: o formulário atual (para encadeamento).

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setShowLinkToRespondAgain(enabled)

Define se o formulário exibe um link para enviar outra resposta após a conclusão do participante no formulário. O padrão para novos formulários é true.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário exibir a mensagem "Envie outra resposta" link Caso contrário, false.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setShuffleQuestions(shuffle)

Define se a ordem das perguntas em cada página do formulário é aleatória.

Parâmetros

NomeTipoDescrição
shuffleBooleantrue se a ordem das perguntas em cada página do formulário for randomizado; Caso contrário, false.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

setTitle(title)

Define o título do formulário.

Parâmetros

NomeTipoDescrição
titleStringO novo título do formulário.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

shortenFormUrl(url)

Converte um URL longo de um formulário em um URL curto. Gera uma exceção se o URL longo não pertencem aos Formulários Google.

Parâmetros

NomeTipoDescrição
urlStringO URL a ser encurtado.

Retornar

String: um URL no formato http://goo.gl/forms/1234.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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

submitGrades(responses)

Envia notas para os FormResponses fornecidos.

Se o código incluir um gatilho onFormSubmit, chame submitGrades(). aciona a condição onFormSubmit e causa um loop infinito. Para evitar que a loop infinito, adicione um código que verifique se as notas já existem antes de chamar submitGrades().

Parâmetros

NomeTipoDescrição
responsesFormResponse[]Uma matriz de todas as respostas do formulário.

Retornar

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

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