Script do Google para obter pontuações médias e e-mails do Google Forms (como Quiz)
Preciso de um script do Google (GAS) para recuperar e-mails e pontuações totais de um Formulário do Google que foi transformado em um questionário.
No GAS, você pode obter a pontuação de cada pergunta, mas preciso obter a pontuação de todas as perguntas e, em seguida, calcular a média da pontuação final (cada questionário tem 20 perguntas). Também preciso do e-mail de cada pessoa que terminou o teste. Esses testes são realizados em instituições para que a opção "Coletar endereços de email" seja selecionada.
Preciso disso e NÃO da "planilha de respostas", pois vou fazer centenas de testes e colocar todas as notas em uma planilha, como um resumo. Não quero ter centenas de planilhas de resposta.
O que tenho até agora está abaixo, mas não consigo obter a pontuação média de cada questionário e colocá-lo ao lado do email em uma planilha. Qualquer ajuda seria apreciada.
function getPoints() {
var form = FormApp.openById('ID');
var formResponses = form.getResponses();
var formItems = form.getItems();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var email = formResponse.getRespondentEmail();
/* I need to get all emails from those who responded,
not just one and put them in column A.*/
var s = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sr = s.getRange("A:A").setValues(email);
}
for (var j = 0; j < formItems.length; j++) {
var item = formItems[i];
if (item.getType() === item.getType().TEXT){
var points = item.asTextItem().getPoints();
var itemResponse = formResponse.getGradableResponseForItem(item);
var answer = itemResponse.getResponse();
var sc = itemResponse.getScore();
/* I need to get all the scores, not just one, and then average
them, and them put them in column B, beside the corresponding
email in column A. */
var s = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sr = s.getRange("B:B").setValues(sc);
}
}
}