Uma resposta ao formulário como um todo. Um Form
pode ser usado de três maneiras: para acessar
as respostas enviadas por um respondente (consulte get
), para enviar
programaticamente uma resposta ao formulário (consulte with
e submit()
) e para gerar um URL para o formulário que preenche os campos usando as respostas
fornecidas. Form
s podem ser criados ou acessados em um Form
.
// Open a form by ID and log the responses to each question. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); for (let i = 0; i < formResponses.length; i++) { const formResponse = formResponses[i]; const itemResponses = formResponse.getItemResponses(); for (let j = 0; j < itemResponses.length; j++) { const itemResponse = itemResponses[j]; Logger.log( 'Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse(), ); } }
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
get | String | Gera um URL que pode ser usado para editar uma resposta que já foi enviada. |
get | Item | Recebe todas as respostas de itens contidas em uma resposta de formulário, na mesma ordem em que os itens aparecem no formulário. |
get | Item | Extrai a resposta do item contida em uma resposta de formulário para um determinado item. |
get | String | Recebe o ID da resposta do formulário. |
get | Item | Recebe todas as respostas de itens contidas em uma resposta de formulário, na mesma ordem em que os itens aparecem no formulário. |
get | String | Retorna o endereço de e-mail da pessoa que enviou uma resposta, se a configuração Form.setCollectEmail(collect) estiver ativada. |
get | Item | Extrai a resposta do item contida nesta resposta do formulário para um determinado item. |
get | Date | Recebe o carimbo de data/hora de um envio de resposta a um formulário. |
submit() | Form | Envia a resposta. |
to | String | Gera um URL para o formulário em que as respostas são preenchidas automaticamente com base nas respostas da resposta do formulário. |
with | Form | Adiciona as notas da resposta do item especificado a uma resposta do formulário. |
with | Form | Adiciona a resposta do item especificado a uma resposta de formulário. |
Documentação detalhada
get Edit Response Url()
Gera um URL que pode ser usado para editar uma resposta que já foi enviada. Se a
configuração Form.setAllowResponseEdits(enabled)
estiver desativada, o link vai levar a uma página que
explica que a edição de respostas de formulário está desativada. Qualquer pessoa que acesse o link pode editar a
resposta, mas ela precisa ter uma conta com acesso ao formulário se a configuração
estiver ativada. Se a configuração Form.setRequireLogin(requireLogin)Form.setCollectEmail(collect)
estiver ativada, o formulário vai registrar o endereço de e-mail do usuário que editou a resposta
em vez do endereço de e-mail do respondente original.
Para uma resposta de formulário que o script criou, mas ainda não enviou, esse método retorna
null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Gets the edit URL for the first form response and logs it to the console. const editUrl = formResponse.getEditResponseUrl(); console.log(editUrl);
Retornar
String
: o URL para mudar uma resposta enviada.
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
get Gradable Item Responses()
Recebe todas as respostas de itens contidas em uma resposta de formulário, na mesma ordem em que os itens aparecem
no formulário. Esse método funciona de forma semelhante a get
, mas para permitir a avaliação
de uma resposta ausente, ele ainda retorna uma Item
se o Item
correspondente
puder ser avaliado (ou seja, tiver um valor de ponto), mesmo que não haja uma resposta real. No entanto, se o
Item
não for gradável, esse método vai excluir esse item da matriz retornada.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in each form response. for (const formResponse of formResponses) { const gradableItemsResponses = formResponse.getGradableItemResponses(); // Logs the title and score for each item response to the console. for (const gradableItemsResponse of gradableItemsResponses) { console.log(`${gradableItemsResponse.getItem().getTitle()} score ${gradableItemsResponse.getScore()}`); } }
Retornar
Item
: uma matriz de respostas para cada item de pergunta no formulário em que o respondente
pode receber uma pontuaçã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
get Gradable Response For Item(item)
Extrai a resposta do item contida em uma resposta de formulário para um determinado item. Esse método funciona
de maneira semelhante ao get
, mas, para permitir a avaliação de uma resposta ausente, ele ainda
retorna uma Item
se o Item
correspondente puder ser avaliado (ou seja, tiver um valor
de ponto), mesmo que não haja uma resposta real. No entanto, se o Item
não for gradável,
esse método retornará null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in a form response. for (const formResponse of formResponses) { const formItemResponses = formResponse.getGradableItemResponses(); // Logs the title and score for responses to the first item of the form. const itemResponse = formResponse.getGradableResponseForItem( formItemResponses[0].getItem(), ); console.log( `${itemResponse.getItem().getTitle()} score ${itemResponse.getScore()}`, ); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
item | Item |
Retornar
Item
: a resposta para um determinado item ou null
se nenhum existir e o item não tiver sido classificado.
get Id()
Recebe o ID da resposta do formulário. Esse método retorna null
se a resposta do formulário não tiver sido
enviada.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the form responses and logs the ID for each form response to // the console. for (const formResponse of formResponses) { console.log(`Response ID: ${formResponse.getId()}`); }
Retornar
String
: o ID da resposta do formulário ou null
se a resposta não foi enviada.
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
get Item Responses()
Recebe todas as respostas de itens contidas em uma resposta de formulário, na mesma ordem em que os itens aparecem
no formulário. Se a resposta do formulário não contiver uma resposta para um determinado Text
,
Date
, Time
ou Paragraph
, o Item
retornado para esse item terá uma string vazia como resposta. Se a resposta do formulário omitir uma
resposta para qualquer outro tipo de item, esse método vai excluir esse item da matriz retornada.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the responses to the form. const formResponses = form.getResponses(); // Iterates over the responses. for (const formResponse of formResponses) { // Gets the item responses from each form response. const itemResponses = formResponse.getItemResponses(); // Iterates over the item responses. for (const itemResponse of itemResponses) { // Logs the items' questions and responses to the console. console.log( `Response to the question '${itemResponse.getItem().getTitle()}' was '${itemResponse.getResponse()}'`); } }
Retornar
Item
: uma matriz de respostas para cada item de pergunta no formulário para o qual o respondente
forneceu uma resposta.
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
get Respondent Email()
Retorna o endereço de e-mail da pessoa que enviou uma resposta, se a configuração Form.setCollectEmail(collect)
estiver ativada.
Para uma resposta de formulário que o script criou, mas ainda não enviou, esse método retorna
null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each respondent's email to the console. // To collect respondent emails, ensure that Form.setCollectEmail(collect) is // set to true. for (const formResponse of formResponses) { console.log(`Respondent Email: ${formResponse.getRespondentEmail()}`); }
Retornar
String
: o endereço de e-mail da pessoa que enviou a resposta, se disponível, ou null
se o script criou a resposta, mas ainda não a enviou.
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
get Response For Item(item)
Extrai a resposta do item contida nesta resposta do formulário para um determinado item.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first item on the form. const item = form.getItems()[0]; // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each response to the first item to the // console. for (const formResponse of formResponses) { const itemResponse = formResponse.getResponseForItem(item); console.log(itemResponse.getResponse()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
item | Item |
Retornar
Item
: a resposta para um determinado item ou null
se nenhum existir.
get Timestamp()
Recebe o carimbo de data/hora de um envio de resposta a um formulário.
Para uma resposta de formulário que o script criou, mas ainda não enviou, esse método retorna
null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs the timestamp of each response to the // console. for (const formResponse of formResponses) { console.log(`Timestamp: ${formResponse.getTimestamp()}`); }
Retornar
Date
: o carimbo de data/hora em que essa resposta foi enviada ou null
se o script
criou essa resposta, mas ainda não a enviou.
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
submit()
Envia a resposta. Gera uma exceção de script se a resposta já tiver sido enviada.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates an empty response for the form. const formResponse = form.createResponse(); // Submits an empty response. formResponse.submit();
Retornar
Form
: uma resposta recém-criada salva no armazenamento 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
to Prefilled Url()
Gera um URL para o formulário em que as respostas são preenchidas automaticamente com base nas respostas da resposta do formulário.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Generates and logs the URL of a pre-filled form response based on the answers // of the first form response. const prefilledUrl = formResponse.toPrefilledUrl(); console.log(prefilledUrl);
Retornar
String
: o URL de um formulário com respostas preenchidas previamente.
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
with Item Grade(gradedResponse)
Adiciona as notas da resposta do item especificado a uma resposta do formulário. Esse método se aplica apenas a respostas de formulários que já foram enviadas e só afeta as notas armazenadas depois que elas são enviadas. Esse método também atualiza apenas as notas da resposta do item. Ele não afeta a resposta real, já que ela já foi enviada. Se esse método for chamado várias vezes para o mesmo item, apenas a última nota será mantida. Se a ItemResponse não tiver notas, esse método vai remover as notas do item.
// Programmatically award partial credit for a given response const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); const formItems = form.getItems(); for (const formResponse of formResponses) { for (const item of formItems) { const points = item.asMultipleChoiceItem().getPoints(); const itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); const answer = itemResponse.getResponse(); if (answer?.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
graded | Item |
Retornar
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
with Item Response(response)
Adiciona a resposta do item especificado a uma resposta de formulário. Esse método se aplica apenas a respostas de formulário que o script criou, mas ainda não enviou. Ele não pode afetar respostas armazenadas. Se esse método for chamado várias vezes para o mesmo item, apenas a última resposta do item será mantida.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates a response for the form. const formResponse = form.createResponse(); // Appends a checkbox item to the form. const item = form.addCheckboxItem(); // Sets the title of the item to 'Which items are ice cream flavors?' item.setTitle('Which items are ice cream flavors?'); // Sets choices for the item. item.setChoices([ item.createChoice('Vanilla'), item.createChoice('Strawberry'), item.createChoice('Brick'), ]); // Creates a response for the item. const response = item.createResponse(['Vanilla', 'Strawberry']); // Adds the item response to the form response. formResponse.withItemResponse(response); // Submits the form response. formResponse.submit();
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
response | Item |
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