Uma resposta ao formulário como um todo. É possível usar o FormResponse
de três maneiras: para acessar as respostas enviadas por um participante (consulte getItemResponses()
), para enviar uma resposta programaticamente ao formulário (consulte withItemResponse(response)
e submit()
) e para gerar um URL para o formulário que preenche automaticamente os campos usando as respostas fornecidas. FormResponse
s podem ser criadas ou acessadas a partir de 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 que já foi enviada. |
getGradableItemResponses() | ItemResponse[] | Recebe todas as respostas dos itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem no formulário. |
getGradableResponseForItem(item) | ItemResponse | Recebe a resposta do item contida em um formulário para um determinado item. |
getId() | String | Acessa o ID da resposta do formulário. |
getItemResponses() | ItemResponse[] | Recebe todas as respostas dos itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem no formulário. |
getRespondentEmail() | String | Recebe o endereço de e-mail da pessoa que enviou uma resposta se a configuração Form.setCollectEmail(collect) estiver ativada. |
getResponseForItem(item) | ItemResponse | Acessa a resposta do item contido neste formulário para um determinado item. |
getTimestamp() | Date | Recebe o carimbo de data/hora de um envio de resposta do formulário. |
submit() | FormResponse | Envia a resposta. |
toPrefilledUrl() | String | Gera um URL para o formulário em que as respostas são preenchidas automaticamente com base nas respostas desta resposta de formulário. |
withItemGrade(gradedResponse) | FormResponse | Adiciona as classificações de resposta do item a uma resposta do formulário. |
withItemResponse(response) | FormResponse | Adiciona a resposta do item em questão a uma resposta do 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 levará a uma página que explica que a edição de respostas do formulário está desativada. Qualquer pessoa que acesse o link pode editar a
resposta, embora precise de uma conta com acesso ao formulário se a configuração Form.setRequireLogin(requireLogin)
estiver ativada. Se a configuraçã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 participante original.
Para uma resposta de formulário que o script criou, mas ainda não foi enviado, esse método retorna null
.
Retornar
String
: o URL para alterar 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 dos itens contidas em uma resposta do formulário, na mesma ordem em que os itens aparecem
no formulário. Esse método funciona de maneira semelhante à getItemResponses()
, mas, para permitir a avaliação
de uma resposta ausente, ele ainda retorna um ItemResponse
se o Item
correspondente puder ser classificado (ou seja, tiver uma pontuação), mesmo que não haja uma resposta real. No entanto, se Item
não for graduável, esse método vai excluir esse item da matriz retornada.
Retornar
ItemResponse[]
: uma matriz de respostas para cada item de pergunta no formulário em que o participante
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)
Recebe a resposta do item contida em um formulário para um determinado item. Esse método funciona
de maneira semelhante a getResponseForItem(item)
, mas, para permitir a avaliação de uma resposta ausente, ele ainda
retorna um ItemResponse
se o Item
correspondente puder ser avaliado (ou seja, se houver uma pontuação
,) mesmo que não haja uma resposta real. No entanto, se Item
não for graduável,
esse método retornará null
.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
item | Item |
Retornar
ItemResponse
: a resposta de um determinado item, ou null
se nenhum existir e o item não tiver nota
getId()
Acessa o ID da resposta do formulário. Esse método retornará null
se a resposta ao formulário não tiver sido enviada.
Retornar
String
: o ID da resposta do formulário ou null
se a resposta do formulário não tiver sido 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 dos 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 contiver uma resposta para uma determinada TextItem
, DateItem
, TimeItem
ou ParagraphTextItem
, o ItemResponse
retornado para esse item terá uma string vazia como a resposta. Se a resposta do formulário omitir uma resposta de qualquer outro tipo de item, esse método vai excluir esse item da matriz retornada.
Retornar
ItemResponse[]
: uma matriz de respostas para cada item de pergunta no formulário a que o participante
deu 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()
Recebe 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 enviado, esse método retorna null
.
Retornar
String
: o endereço de e-mail da pessoa que enviou esta resposta, se disponível, 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
getResponseForItem(item)
Acessa a resposta do item contido neste formulário para um determinado item.
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 de um envio de resposta do formulário.
Para uma resposta de formulário que o script criou, mas ainda não foi enviado, esse método retorna null
.
Retornar
Date
: o carimbo de data/hora em que a 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. Uma exceção de script será gerada se a resposta já tiver sido enviada.
Retornar
FormResponse
: 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 desta resposta de formulário.
Retornar
String
: o URL de um formulário com respostas pré-preenchidas
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 classificações de resposta do item a uma resposta do formulário. Esse método se aplica somente a respostas de formulário que já foram enviadas e afeta as notas armazenadas somente após o envio. Esse método também atualiza apenas as notas da resposta do item, mas não afeta a resposta real, já que a resposta 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 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 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 em questão a uma resposta do formulário. Esse método se aplica somente a respostas de formulário criadas pelo script, mas ainda não enviadas. Esse método não afeta as respostas armazenadas. Se esse método for chamado várias vezes para o mesmo item, apenas a última resposta será retida.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
response | ItemResponse |
Retornar
FormResponse
: este FormResponse
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