Class Form

Formulário

Um formulário que contém itens e propriedades gerais. As propriedades incluem título, configurações e onde as respostas são armazenadas. Os itens incluem perguntas, como caixas de seleção ou itens de opção, enquanto os itens de layout se referem a coisas 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 da pergunta, apresentado como uma grade de colunas e linhas, que permite ao participante selecionar várias opções por linha em uma sequência de caixas de seleção.
addCheckboxItem()CheckboxItemAnexa um novo item de pergunta que permite ao respondente marcar uma ou mais caixas de seleção, bem como um campo "outro" opcional.
addDateItem()DateItemAnexa um novo item da pergunta que permite ao respondente indicar uma data.
addDateTimeItem()DateTimeItemAnexa um novo item da pergunta que permite ao respondente indicar uma data e hora.
addDurationItem()DurationItemAnexa um novo item da pergunta que permite que o respondente indique 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 ao participante selecionar 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 respondente selecionar uma opção em uma lista suspensa.
addMultipleChoiceItem()MultipleChoiceItemAdiciona um novo item de pergunta que permite ao participante selecionar uma opção em uma lista de botões de opção ou um campo "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 respondente inserir um bloco de texto.
addScaleItem()ScaleItemAnexa um novo item de pergunta que permite ao participante escolher uma opção entre uma sequência 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 respondente inserir uma única linha de texto.
addTimeItem()TimeItemAnexa um novo item de pergunta que permite ao respondente indicar uma hora do dia.
addVideoItem()VideoItemAnexa um novo item de layout que exibe um vídeo.
canEditResponse()BooleanDetermina se o formulário exibirá um link para editar uma resposta depois de enviá-la.
collectsEmail()BooleanDetermina se o formulário coleta os endereços de e-mail dos entrevistados.
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 com 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 é exibida se o formulário não estiver aceitando respostas ou uma string vazia se nenhuma mensagem personalizada estiver definida.
getDescription()StringExtrai a descrição do formulário.
getDestinationId()StringRecebe o ID do destino da resposta do formulário.
getDestinationType()DestinationTypeExtrai o tipo do destino da resposta do formulário.
getEditUrl()StringExtrai o URL que pode ser usado para acessar o modo de edição do formulário.
getEditors()User[]Recebe a lista de editores deste Form.
getId()StringRecebe o ID do formulário.
getItemById(id)ItemRecebe 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()StringExtrai 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 exibir 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 depois que um respondente preenche o formulário.
isAcceptingResponses()BooleanDetermina se o formulário está aceitando respostas no momento.
isPublishingSummary()BooleanDetermina se o formulário exibe um link para visualizar um resumo das respostas depois que um respondente preenche o formulário.
isQuiz()BooleanDetermina se o formulário é um teste.
moveItem(from, to)ItemMove um item com determinado índice entre todos os itens do formulário para outro índice.
moveItem(item, toIndex)ItemMove um determinado item para um determinado índice 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 subdomínio antes de responder.
setAcceptingResponses(enabled)FormDefine se o formulário está aceitando respostas.
setAllowResponseEdits(enabled)FormDefine se o formulário exibirá um link para editar uma resposta depois de enviá-la.
setCollectEmail(collect)FormDefine se o formulário coleta os endereços de e-mail dos entrevistados.
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 estiver aceitando 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 exibirá um link para visualizar um resumo das respostas depois que um respondente enviar o formulário.
setRequireLogin(requireLogin)FormDefine se o formulário exige que os participantes façam login em uma conta no mesmo domínio ou subdomínio antes de responder.
setShowLinkToRespondAgain(enabled)FormDefine se o formulário exibirá um link para enviar outra resposta depois que um respondente preencher o 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 da pergunta, apresentado como uma grade de colunas e linhas, que permite ao participante selecionar 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']);

Retorno

CheckboxGridItem: o item recém-criado.

Autorização

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

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

addCheckboxItem()

Anexa um novo item de pergunta que permite ao respondente marcar uma ou mais caixas de seleção, bem como um campo "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']);

Retorno

CheckboxItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 da pergunta que permite ao respondente 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.');

Retorno

DateItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 da pergunta que permite ao respondente 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);

Retorno

DateTimeItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 da pergunta que permite que o respondente indique 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);

Retorno

DurationItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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á estiver na lista de espectadores, esse método o removerá da lista.

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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á estiver na lista de espectadores, esse método o removerá da lista.

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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á estiver na lista de espectadores, esse método o removerá da lista de espectadores.

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 ao participante selecionar 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']);

Retorno

GridItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

ImageItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 respondente selecionar uma opção em uma lista suspensa.

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

Retorno

ListItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 botões de opção ou um campo "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]);

Retorno

MultipleChoiceItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

PageBreakItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 respondente 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?');

Retorno

ParagraphTextItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 entre uma sequência 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');

Retorno

ScaleItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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');

Retorno

SectionHeaderItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 respondente 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?');

Retorno

TextItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 respondente 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?');

Retorno

TimeItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

VideoItem: o item recém-criado.

Autorização

Os scripts que usam esse método exigem 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 exibirá um link para editar uma resposta depois de enviá-la.

Independentemente dessa configuração, o método FormResponse.getEditResponseUrl() permite que um autor de script com acesso de edição ao formulário gere um URL que pode ser usado para editar uma 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);

Retorno

Boolean: true se o formulário mostrar um link "Editar sua resposta"; false se isso não acontecer.

Autorização

Os scripts que usam esse método exigem 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 os endereços de e-mail dos entrevistados.

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

Retorno

Boolean: true se o formulário coletar endereços de e-mail. Caso contrário, false.

Autorização

Os scripts que usam esse método exigem 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 com base nele e anexe-a à resposta do formulário chamando FormResponse.withItemResponse(response). Para salvar a resposta montada, chame FormResponse.submit().

Retorno

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

Autorização

Os scripts que usam esse método exigem 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 limpa a visualização resumida do formulário.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 com um determinado índice entre todos os itens do formulário. Lança uma exceção de script se nenhum item existir no índice especificado.

// 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 exigem 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 script se o item já tiver sido 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 exigem 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 de respostas armazenadas em um destino de resposta externo (como uma planilha), mas remove a resposta da visualização de resumo 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.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

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

Autorização

Os scripts que usam esse método exigem 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 é exibida se o formulário não estiver aceitando respostas ou uma string vazia se nenhuma mensagem personalizada estiver 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);

Retorno

String: a mensagem personalizada a ser exibida se o formulário não estiver aceitando respostas ou uma string vazia se nenhuma mensagem personalizada estiver definida.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

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

Autorização

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

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

getDestinationId()

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

Retorno

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

Autorização

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

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

getDestinationType()

Extrai o tipo 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/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);

Retorno

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

Autorização

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

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

getEditUrl()

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

Retorno

String: o URL para editar o formulário.

Autorização

Os scripts que usam esse método exigem 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 deste Form.

Retorno

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

Autorização

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

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

getId()

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

Retorno

String: o ID do formulário.

Autorização

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

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

getItemById(id)

Recebe o item com um determinado ID. Retornará null se o ID não corresponder a um item 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
idIntegerID do item.

Retorno

Item: o item com o código fornecido, ou null se o item não existir no formulário.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

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

Autorização

Os scripts que usam esse método exigem 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.

Retorno

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

Autorização

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

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

getPublishedUrl()

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

Retorno

String: o URL para responder ao formulário.

Autorização

Os scripts que usam esse método exigem 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 em FormResponse.getId().

Parâmetros

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

Retorno

FormResponse: a resposta do formulário.

Gera

Error: se a resposta não existir.

Autorização

Os scripts que usam esse método exigem 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.

Retorno

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

Autorização

Os scripts que usam esse método exigem 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 a hora mais antigas em que as respostas do formulário devem ser retornadas.

Retorno

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

Autorização

Os scripts que usam esse método exigem 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.

Retorno

Boolean: true se a ordem das perguntas em cada página do formulário for aleatória; se não for, false.

Autorização

Os scripts que usam esse método exigem 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 exibir 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 do formulário podem 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);

Retorno

String: o URL para ver um resumo das respostas.

Autorização

Os scripts que usam esse método exigem 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);

Retorno

String: o título do formulário.

Autorização

Os scripts que usam esse método exigem 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 ao formulário.

Retorno

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

Retorno

Boolean: true se o formulário mostrar uma barra de progresso. Caso contrário, false.

Autorização

Os scripts que usam esse método exigem 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 depois que um respondente 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());

Retorno

Boolean: true se o formulário exibir um link "Enviar outra resposta". false se isso não acontecer.

Autorização

Os scripts que usam esse método exigem 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 no momento.

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

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

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

Retorno

Boolean: true se o formulário estiver aceitando respostas. false se não estiver.

Autorização

Os scripts que usam esse método exigem 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 depois que um respondente 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);

Retorno

Boolean: true se o formulário mostrar um link "Ver respostas anteriores". false se isso não acontecer.

Autorização

Os scripts que usam esse método exigem 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());

Retorno

Boolean: true se o formulário estiver aceitando respostas. false se não estiver.

Autorização

Os scripts que usam esse método exigem 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 com determinado índice entre todos os itens do formulário para outro índice. Gera uma exceção de script 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
fromIntegerO índice atual do item entre todos os itens do formulário.
toIntegerO novo índice do item entre todos os itens do formulário.

Retorno

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 exigem 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 determinado índice entre todos os itens do formulário. Lança uma exceção de script se o índice fornecido 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 do item entre todos os itens do formulário.

Retorno

Item: o item que foi movido.

Gera

Error: se o índice estiver fora dos limites.

Autorização

Os scripts que usam esse método exigem 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 destino antigo 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 uma cópia das respostas no armazenamento de respostas do formulário. Se o formulário não tiver um destino de 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();

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 impede que os usuários acessem o Form se eles pertencerem a uma classe de usuários que tenham acesso geral. Por exemplo, se Form for compartilhado com todo o domínio do usuário ou se o Form estiver em um drive compartilhado que o usuário pode acessar.

Nos arquivos do Drive, essa ação 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.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 impede que os usuários acessem o Form se eles pertencerem a uma classe de usuários que tenham acesso geral. Por exemplo, se Form for compartilhado com todo o domínio do usuário ou se o Form estiver em um drive compartilhado que o usuário pode acessar.

Nos arquivos do Drive, essa ação também remove o usuário da lista de leitores.

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 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);

Retorno

Boolean: true se o formulário exigir que os usuários façam login. Caso contrário, false.


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 precisar aceitar respostas; false se não quiser.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 exibirá um link para editar uma resposta depois de enviá-la. O padrão para novos formulários é false.

Independentemente dessa configuração, o método FormResponse.getEditResponseUrl() permite que um autor de script com permissão para edição do formulário gere um URL que pode ser usado para editar uma 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 um link "Editar sua resposta"; caso contrário, false.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 os endereços de e-mail dos entrevistados. 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 isso não for feito.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 estiver aceitando respostas. Se nenhuma mensagem for definida, o formulário usará 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 estiver aceitando respostas.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 têm um destino definido explicitamente, salve uma cópia das respostas no armazenamento de respostas do formulário.

Parâmetros

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

Retorno

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 exigem 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 nos testes. Definir como false faz com que todas as opções de nota sejam removidas de todas as perguntas.

As configurações do teste só estão disponíveis na nova interface do Formulários Google. Quando um teste é ativado por um teste, ele usa 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 ser ativados para o formulário. Caso contrário, false.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 respostas ao formulário.

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 mostrar uma barra de progresso; false se não mostrar.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 exibirá um link para visualizar um resumo das respostas depois que um respondente enviar o formulário. O padrão para novos formulários é false.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário precisar exibir um link "Ver respostas anteriores". false se não for.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 participantes façam login em uma conta no mesmo domínio ou subdomínio antes de responder. O padrão para novos formulários é false, a menos que um administrador de domínio altere o padrão.

Esse recurso só está disponível nos formulários criados pelos usuários do Google Workspace. Usuários de outros tipos de Contas 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 esse não for o caso.

Retorno

Form: o formato atual (para encadeamento).

Autorização

Os scripts que usam esse método exigem 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 exibirá um link para enviar outra resposta depois que um respondente preencher o formulário. O padrão para novos formulários é true.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário precisar exibir um link "Enviar outra resposta". Caso contrário, false.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 precisar ser aleatória. Caso contrário, false.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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.

Retorno

Form: este Form, para encadeamento.

Autorização

Os scripts que usam esse método exigem 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. Lança uma exceção se o URL longo não pertencer ao Formulários Google.

Parâmetros

NomeTipoDescrição
urlStringO URL a ser reduzido.

Retorno

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

Autorização

Os scripts que usam esse método exigem 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 acionador onFormSubmit, chamar submitGrades() acionará a condição onFormSubmit e causará um loop infinito. Para evitar a repetição infinita, adicione um código que verifica se as notas já existem antes de chamar submitGrades().

Parâmetros

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

Retorno

Form: este Form, para encadeamento.

Autorização

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

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