Uma resposta para o formulário como um todo. Um FormResponse
pode ser usado de três maneiras: para acessar
as respostas enviadas por um entrevistado (consulte getItemResponses()
) para, de forma programática,
envie uma resposta ao formulário (consulte withItemResponse(response)
e submit()
) e gere um URL para o formulário que preenche previamente os campos usando o
respostas As FormResponse
s podem ser criadas ou acessadas em um Form
.
// Open a form by ID and log the responses to each question. var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; var itemResponses = formResponse.getItemResponses(); for (var j = 0; j < itemResponses.length; j++) { var 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 |
---|---|---|
getEditResponseUrl() | String | Gera um URL que pode ser usado para editar uma resposta já enviada. |
getGradableItemResponses() | ItemResponse[] | Recebe todas as respostas de itens contidas em uma resposta de formulário, na mesma ordem em que os itens aparecem no formulário. |
getGradableResponseForItem(item) | ItemResponse | Extrai a resposta do item contida em uma resposta de formulário para um determinado item. |
getId() | String | Extrai o ID da resposta do formulário. |
getItemResponses() | ItemResponse[] | Recebe todas as respostas de itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem no formulário. |
getRespondentEmail() | String | Extrai o endereço de e-mail da pessoa que enviou uma resposta, se a configuração Form.setCollectEmail(collect) estiver ativada. |
getResponseForItem(item) | ItemResponse | Extrai a resposta do item contida nessa resposta do formulário para um determinado item. |
getTimestamp() | Date | Recebe o carimbo de data/hora para o envio de uma resposta de formulário. |
submit() | FormResponse | Envia a resposta. |
toPrefilledUrl() | String | Gera um URL para o formulário em que as respostas são pré-preenchidas com base nas respostas deste de resposta do formulário. |
withItemGrade(gradedResponse) | FormResponse | Adiciona as notas da resposta do item especificado a uma resposta do formulário. |
withItemResponse(response) | FormResponse | Adiciona a resposta do item fornecido a uma resposta do formulário. |
Documentação detalhada
getEditResponseUrl()
Gera um URL que pode ser usado para editar uma resposta já enviada. Se o
A configuração Form.setAllowResponseEdits(enabled)
está desativada, o link leva a uma página que
explica que a edição de respostas do formulário está desativada. Qualquer pessoa que acessar o link poderá editar
embora precisem de uma conta com acesso ao formulário se a configuração Form.setRequireLogin(requireLogin)
estiver ativada. Se o Form.setCollectEmail(collect)
estiver ativada, o formulário 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 foi enviada, este 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 alterar uma resposta enviada.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableItemResponses()
Recebe todas as respostas de itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem
no formulário. Esse método funciona de forma semelhante a getItemResponses()
, mas para permitir a avaliação
uma resposta ausente, ainda vai retornar uma ItemResponse
se o Item
correspondente
podem ser avaliadas (com pontuação), mesmo que não haja uma resposta real. No entanto, se o
Item
não pode ser classificado. Esse método exclui 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
ItemResponse[]
: uma matriz de respostas para cada item da pergunta no formulário relacionado ao respondente.
para receber uma pontuação.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getGradableResponseForItem(item)
Extrai a resposta do item contida em uma resposta de formulário para um determinado item. Esse método funciona
semelhante a getResponseForItem(item)
, mas para permitir a avaliação de respostas ausentes,
retorna uma ItemResponse
se o Item
correspondente puder ser avaliado (ou seja, tem um ponto
), mesmo que não haja uma resposta real. No entanto, se o Item
não puder receber gradação,
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(); // 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
ItemResponse
: a resposta para um determinado item, ou null
se não existir e o item não tiver nota.
getId()
Extrai o ID da resposta do formulário. Esse método retornará null
se a resposta do formulário não tiver sido
foram enviados.
// 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 do formulário não tiver sido
enviados.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getItemResponses()
Recebe todas as respostas de itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem
no formulário. Se a resposta do formulário não tiver uma resposta para um determinado TextItem
,
DateItem
, TimeItem
ou ParagraphTextItem
, o ItemResponse
retornado para esse item terá uma string vazia como resposta. Se a resposta do formulário omitir uma
para qualquer outro tipo de item, esse método exclui o 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
ItemResponse[]
: uma matriz de respostas para cada item da pergunta no formulário relacionado ao respondente.
forneceram uma resposta.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getRespondentEmail()
Extrai 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 foi enviada, este 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 essa 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 precisam de 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 nessa 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
ItemResponse
: a resposta de um determinado item ou null
se não houver nenhum.
getTimestamp()
Recebe o carimbo de data/hora para o envio de uma resposta de formulário.
Para uma resposta de formulário que o script criou, mas ainda não foi enviada, este 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 esta resposta, mas ainda não a enviou.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
Envia a resposta. Gera uma exceção de scripting 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
FormResponse
: uma resposta recém-criada, salva no armazenamento de respostas do formulário.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
toPrefilledUrl()
Gera um URL para o formulário em que as respostas são pré-preenchidas com base nas respostas deste de 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 automaticamente.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemGrade(gradedResponse)
Adiciona as notas da resposta do item fornecido a uma resposta do formulário. Esse método se aplica apenas a formulários respostas que já foram enviadas e só afeta as notas armazenadas depois que elas são enviados. Esse método também atualiza somente as notas da resposta do item. isso não afeta resposta real (pois a resposta já foi enviada). Se esse método for chamado várias vezes para o mesmo item, somente a última nota é mantida. Se o ItemResponse contiver sem notas, este método removerá as notas do item.
// Programmatically award partial credit for a given response var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); var formItems = form.getItems(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; for (var j = 0; j < formItems.length; j++) { var item = formItems[j]; var points = item.asMultipleChoiceItem().getPoints(); var itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); var answer = itemResponse.getResponse(); if (answer != null && answer.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
gradedResponse | ItemResponse |
Retornar
FormResponse
: este FormResponse
, para encadeamento
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
withItemResponse(response)
Adiciona a resposta do item fornecido a uma resposta do formulário. Este método se aplica somente a respostas de formulário que o script criou, mas ainda não foi enviado; isso não afeta as respostas armazenadas. Se esse é chamado várias vezes para o mesmo item, apenas a última resposta do item é retida.
// 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 | ItemResponse |
Retornar
FormResponse
: este FormResponse
, para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms