Class Form

Formulário

Um formulário que contém propriedades e itens gerais. As propriedades incluem título, configurações e onde as respostas são armazenadas. Os itens incluem itens de pergunta, como caixas de seleção ou botões de opção, enquanto os itens de layout se referem a elementos como quebras de página. Os formulários podem ser acessados ou criados em FormApp.

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

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

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

Métodos

MétodoTipo de retornoBreve descrição
addCheckboxGridItem()CheckboxGridItemAdiciona um novo item de 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()CheckboxItemAdiciona um novo item de pergunta que permite ao respondente selecionar uma ou mais caixas de seleção, além de um campo opcional "Outro".
addDateItem()DateItemAdiciona um novo item de pergunta que permite ao participante indicar uma data.
addDateTimeItem()DateTimeItemAdiciona um novo item de pergunta que permite ao participante indicar uma data e hora.
addDurationItem()DurationItemAdiciona um novo item de pergunta que permite ao participante indicar um período de tempo.
addEditor(emailAddress)FormAdiciona o usuário à lista de editores do Form.
addEditor(user)FormAdiciona o usuário à lista de editores do Form.
addEditors(emailAddresses)FormAdiciona o array de usuários à lista de editores do Form.
addGridItem()GridItemAdiciona 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()ImageItemAdiciona um novo item de layout que mostra uma imagem.
addListItem()ListItemAdiciona um novo item de pergunta que permite que o participante selecione uma opção em uma lista desdobrável.
addMultipleChoiceItem()MultipleChoiceItemAdiciona um novo item de pergunta que permite ao respondente selecionar uma opção de uma lista de botões de opção ou um campo opcional "outros".
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 que o participante insira um bloco de texto.
addRatingItem()RatingItemAdiciona um novo item de pergunta que permite ao participante dar uma nota.
addScaleItem()ScaleItemAdiciona um novo item de pergunta que permite ao participante escolher uma opção de uma sequência numerada de botões de opção.
addSectionHeaderItem()SectionHeaderItemAdiciona um novo item de layout que indica visualmente o início de uma seção.
addTextItem()TextItemAdiciona um novo item de pergunta que permite que o participante insira uma única linha de texto.
addTimeItem()TimeItemAdiciona um novo item de pergunta que permite ao participante indicar um horário do dia.
addVideoItem()VideoItemAdiciona um novo item de layout que mostra um vídeo.
canEditResponse()BooleanDetermina se o formulário mostra um link para editar uma resposta depois de enviá-la.
collectsEmail()BooleanDetermina se o formulário coleta os endereços de e-mail dos participantes.
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 fornecido.
deleteResponse(responseId)FormExclui uma resposta do armazenamento de respostas do formulário.
getConfirmationMessage()StringRecebe a mensagem de confirmação do formulário.
getCustomClosedFormMessage()StringRecebe a mensagem personalizada que aparece se o formulário não estiver aceitando respostas ou uma string vazia se nenhuma mensagem personalizada estiver definida.
getDescription()StringRecebe a descrição do formulário.
getDestinationId()StringRecebe o ID do destino de resposta do formulário.
getDestinationType()DestinationTypeRecebe o tipo de destino de 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 para este 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 no 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 de formulário com base no ID da 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()StringRetorna o URL que pode ser usado para acessar 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 mostra uma barra de progresso.
hasRespondAgainLink()BooleanDetermina se o formulário mostra um link para enviar outra resposta depois que um participante conclui o formulário.
isAcceptingResponses()BooleanDetermina se o formulário está aceitando respostas.
isPublishingSummary()BooleanDetermina se o formulário mostra um link para conferir um resumo das respostas depois que um participante preenche o formulário.
isQuiz()BooleanDetermina se o formulário é um teste.
moveItem(from, to)ItemMove um item em um índice específico entre todos os itens do formulário para outro índice.
moveItem(item, toIndex)ItemMove um item para um índice específico entre todos os itens no formulário.
removeDestination()FormDesvincula o formulário do destino de resposta atual.
removeEditor(emailAddress)FormRemove o usuário da lista de editores do Form.
removeEditor(user)FormRemove o usuário da lista de editores do Form.
setAcceptingResponses(enabled)FormDefine se o formulário está aceitando respostas.
setAllowResponseEdits(enabled)FormDefine se o formulário mostra 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 participantes.
setConfirmationMessage(message)FormDefine a mensagem de confirmação do formulário.
setCustomClosedFormMessage(message)FormDefine a mensagem que 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 ao 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 mostra um link para conferir um resumo das respostas depois que um participante envia o formulário.
setShowLinkToRespondAgain(enabled)FormDefine se o formulário mostra um link para enviar outra resposta depois que um participante o preenche.
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 as FormResponses especificadas.

Documentação detalhada

addCheckboxGridItem()

Adiciona um novo item de 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();

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 exigem autorização com um ou mais dos seguintes escopos:

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

addCheckboxItem()

Adiciona um novo item de pergunta que permite ao respondente selecionar uma ou mais caixas de seleção, além de um campo opcional "Outro".

// 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 exigem autorização com um ou mais dos seguintes escopos:

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

addDateItem()

Adiciona um novo item de pergunta que permite ao participante 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 exigem autorização com um ou mais dos seguintes escopos:

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

addDateTimeItem()

Adiciona 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 exigem autorização com um ou mais dos seguintes escopos:

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

addDurationItem()

Adiciona um novo item de pergunta que permite ao participante 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 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 à lista de editores do Form. Se o usuário já estava na lista de espectadores, esse método promove o usuário para fora da lista de espectadores.

Parâmetros

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

Retornar

Form: 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 à lista de editores do Form. Se o usuário já estava na lista de espectadores, esse método promove o usuário para fora da lista de espectadores.

Parâmetros

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

Retornar

Form: 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 o array de usuários à lista de editores do Form. Se algum dos usuários já estiver na lista de espectadores, esse método vai promover a saída deles da lista de espectadores.

Parâmetros

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

Retornar

Form: 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()

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

Retornar

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

Adiciona um novo item de layout que mostra 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 exigem autorização com um ou mais dos seguintes escopos:

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

addListItem()

Adiciona um novo item de pergunta que permite que o participante selecione uma opção em uma lista desdobrável.

// 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 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 respondente selecionar uma opção de uma lista de botões de opção ou um campo opcional "outros".

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

Retornar

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 que o participante insira 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 exigem autorização com um ou mais dos seguintes escopos:

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

addRatingItem()

Adiciona um novo item de pergunta que permite ao participante dar uma nota.

// 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 rating item.
const item = form.addRatingItem();

Retornar

RatingItem: 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()

Adiciona um novo item de pergunta que permite ao participante escolher uma opção de 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');

Retornar

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

Adiciona 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 exigem autorização com um ou mais dos seguintes escopos:

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

addTextItem()

Adiciona um novo item de pergunta que permite que o participante insira 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 exigem autorização com um ou mais dos seguintes escopos:

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

addTimeItem()

Adiciona um novo item de pergunta que permite ao participante indicar um horário 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 exigem autorização com um ou mais dos seguintes escopos:

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

addVideoItem()

Adiciona um novo item de layout que mostra 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 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 mostra 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);

Retornar

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

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

// 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 coleta endereços de e-mail; false se não coleta.

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 um ItemResponse a partir do item e anexe-o a essa resposta de formulário chamando FormResponse.withItemResponse(response). Para salvar a resposta montada, chame FormResponse.submit().

Retornar

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 de resumo do formulário.

Retornar

Form: 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 em um determinado índice entre todos os itens do formulário. Gera uma exceção de script se nenhum item existir no índice fornecido.

// 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 no formulário.

Gera

Error: se nenhum item existir no índice fornecido

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

Retornar

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

Retornar

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

Retornar

String: a mensagem personalizada que será mostrada se o formulário não aceitar 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()

Recebe 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 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 de 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 de 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()

Recebe o tipo de destino de 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 de 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()

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

Retornar

User[]: uma matriz de usuários com permissão de 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);

Retornar

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

Retornar

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

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 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 de formulário com base no ID da resposta. Os IDs de resposta podem ser recuperados em 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 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.

Retornar

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 para que as respostas do formulário precisam ser retornadas.

Retornar

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.

Retornar

Boolean: true se a ordem das perguntas em cada página do formulário for aleatória; false, caso contrá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

getSummaryUrl()

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

Retornar

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 de formulário.

Retornar

Boolean: true se o formulário permitir apenas uma resposta por participante; false, caso contrá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

hasProgressBar()

Determina se o formulário mostra 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 mostrar uma barra de progresso; false se não mostrar.

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 mostra um link para enviar outra resposta depois que um participante conclui 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 mostra um link "Enviar outra resposta"; false se não mostra.

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.

// 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 estiver aceitando respostas ou 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 mostra um link para conferir um resumo das respostas depois que 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 mostrar um link "Ver respostas anteriores"; false se não mostrar.

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

Retornar

Boolean: true se o formulário estiver aceitando respostas ou 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 em um índice específico 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 no formulário.
toIntegerO novo índice do item entre todos os itens do formulário.

Retornar

Item: o item movido.

Gera

Error: se um dos índices estiver fora do limite.

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 item para um índice específico entre todos os itens no formulário. Gera uma exceção de script 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 do item entre todos os itens do formulário.

Retornar

Item: o item 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 de resposta atual. O destino anterior desassociado 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, salvam uma cópia das respostas no repositório 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();

Retornar

Form: 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 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 têm acesso geral. Por exemplo, se o 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.

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

Parâmetros

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

Retornar

Form: 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 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 têm acesso geral. Por exemplo, se o 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.

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

Parâmetros

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

Retornar

Form: 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

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 ou false se não aceitar.

Retornar

Form: 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 mostra 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 de edição no 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 deve mostrar um link "Editar sua resposta"; false se não.

Retornar

Form: 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 participantes. 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 precisa coletar endereços de e-mail; false se não precisa.

Retornar

Form: 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.

Retornar

Form: 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 que será exibida se o formulário não aceitar respostas. Se nenhuma mensagem for definida, o formulário vai 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 que será exibida se o formulário não estiver aceitando respostas.

Retornar

Form: 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.

Retornar

Form: 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 ao formulário são salvas. Todos os formulários, incluindo aqueles que não têm um destino definido explicitamente, salvam uma cópia das respostas na armazenagem de respostas do formulário.

Parâmetros

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

Retornar

Form: 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 em testes. Portanto, definir esse valor como false faz com que todas as opções de nota sejam removidas de todas as perguntas.

As configurações de teste só estão disponíveis na nova interface dos Formulários. Ao criar um teste, o formulário passa 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 do teste precisam ser ativados para o formulário. false se não.

Retornar

Form: 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 de formulário de forma alguma.

Parâmetros

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

Retornar

Form: 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 mostra uma barra de progresso; false se não mostra.

Retornar

Form: 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 mostra um link para conferir um resumo das respostas depois que um participante envia o formulário. O padrão para novos formulários é false.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário deve mostrar um link "Ver respostas anteriores"; false se não.

Retornar

Form: 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

setShowLinkToRespondAgain(enabled)

Define se o formulário mostra um link para enviar outra resposta depois que um participante o preenche. O padrão para novos formulários é true.

Parâmetros

NomeTipoDescrição
enabledBooleantrue se o formulário deve mostrar um link "Enviar outra resposta"; false se não.

Retornar

Form: 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 precisa ser aleatória; false se não precisar.

Retornar

Form: 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.

Retornar

Form: 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. Gera uma exceção se o URL longo não pertence 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 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 as FormResponses especificadas.

Se o código incluir um gatilho onFormSubmit, chamar submitGrades() aciona a condição onFormSubmit e causa um loop infinito. Para evitar o 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: 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

Métodos obsoletos