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
getEditResponseUrl()
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
getGradableItemResponses()
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
getGradableResponseForItem(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.
getId()
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
getItemResponses()
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
getRespondentEmail()
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
getResponseForItem(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.
getTimestamp()
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
toPrefilledUrl()
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
withItemGrade(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
withItemResponse(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