How to Get the Quiz Score in Google Forms with Apps Script

Nafis Ahmad
How to Get the Quiz Score in Google Forms with Apps Script

Table of Contents

[ad_1]

Teachers can easily create an online quiz using Google Forms and students can view their test scores immediately after form submission.

Published in: Google Apps Script – Google Forms

Teachers can use Google Forms to create an online quiz and students can view their test scores immediately after form submission. With Apps Script, you can set up automatic email notifications and send quiz scores to parents after a student has taken the quiz.

Here’s a sample Google Script that will iterate through every answer in the most recent Google Form response and log the max score (points) of a gradable question and the score for the respondent’s submitted answer.

function getGoogleFormQuizScore() {

  
  var form = FormApp.getActiveForm();

  
  var response = form.getResponses().reverse()[0];

  
  var items = form.getItems();

  for (var i=0; i<items.length; i++) {

    var question = items[i];

    
    var qTitle = question.getTitle();

    
    var qType = question.getType();

    
    var responseForItem = response.getResponseForItem(question)

    
    var answer = responseForItem ? responseForItem.getResponse() : null;

    var item = castQuizItem_(question, qType);

    
    
    

    if (item && typeof item.getPoints === "function") {

      var maxScore = item.getPoints();
      var gradableResponseForItem = response.getGradableResponseForItem(question);
      var score = gradableResponseForItem.getScore();

      Logger.log(String(qType), qTitle, answer, maxScore, score);

    }
  }
}

The Google Forms API can only return scores for Multiple Choice, Dropdown and Checkbox style questions. It cannot provide scores for the grid type of questions where the item is presented as a grid of rows and columns.

  1. Checkbox Grid – A question item that allows the respondent to select multiple choices per row from a sequence of checkboxes.
  2. Choice Grid – A question item that allows the respondent to select one choice per row from a sequence of radio buttons.
function castQuizItem_(item, itemType) {
  if (itemType === FormApp.ItemType.CHECKBOX) {
    return item.asCheckboxItem();
  }
  if (itemType === FormApp.ItemType.DATE) {
    return item.asDateItem();
  }
  if (itemType === FormApp.ItemType.DATETIME) {
    return item.asDateTimeItem();
  }
  if (itemType === FormApp.ItemType.DURATION) {
    return item.asDurationItem();
  }
  if (itemType === FormApp.ItemType.LIST) {
    return item.asListItem();
  }
  if (itemType === FormApp.ItemType.MULTIPLE_CHOICE) {
    return item.asMultipleChoiceItem();
  }
  if (itemType === FormApp.ItemType.PARAGRAPH_TEXT) {
    return item.asParagraphTextItem();
  }
  if (itemType === FormApp.ItemType.SCALE) {
    return item.asScaleItem();
  }
  if (itemType === FormApp.ItemType.TEXT) {
    return item.asTextItem();
  }
  if (itemType === FormApp.ItemType.TIME) {
    return item.asTimeItem();
  }
  if (itemType === FormApp.ItemType.GRID) {
    return item.asGridItem();
  }
  if (itemType === FormApp.ItemType.CHECKBOX_GRID) {
    return item.asCheckboxGridItem();
  }
  if (itemType === FormApp.ItemType.PAGE_BREAK) {
    return item.asPageBreakItem();
  }
  if (itemType === FormApp.ItemType.SECTION_HEADER) {
    return item.asSectionHeaderItem();
  }
  if (itemType === FormApp.ItemType.VIDEO) {
    return item.asVideoItem();
  }
  if (itemType === FormApp.ItemType.IMAGE) {
    return item.asImageItem();
  }
  return null;
}

Quiz in Google Forms with Score

[ad_2]

About the Author: Nafis Ahmad

Nafis Ahmad is a passionate blogger. web designer developer He writes about Blogging, WordPress SEO, Makes money online & how to guide etc.

View All Articles →

Join our newsletter for more tech guides

Get practical tips, AI workflows, and tech updates directly in your inbox.

Link copied to clipboard!