You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google App Script区分Google表单未评分与零分响应?

区分Google表单未批改空白评分与零分的方法

你遇到的问题根源在于:未批改的响应调用getScore()时会默认返回0,和手动设置的零分结果完全一致,所以单纯靠分数值没法区分两者。解决办法是利用GradableResponse对象的isGraded()方法来判断响应是否已被批改:

  • 未批改的响应:isGraded() 返回 false
  • 已批改的响应(包括手动设置0分):isGraded() 返回 true

修改后的代码如下:

function setNewGrades() {
  const form = FormApp.getActiveForm();
  const items = form.getItems(FormApp.ItemType.TEXT);
  const responses = form.getResponses();

  for(const response of responses){
    for(const item of items){
      const gradableResponse = response.getGradableResponseForItem(item);
      // 先判断是否已批改
      const isGraded = gradableResponse.isGraded();
      const itemScore = gradableResponse.getScore();
      
      if(!isGraded){
        Logger.log("此响应未批改");
      } else {
        if(itemScore === 0){
          Logger.log("此响应已批改,分数为0");
        } else {
          Logger.log(`此响应已批改,分数为${itemScore}`);
        }
      }
    }
  }
}

通过先检查isGraded()的结果,就能精准区分未批改的空白状态和手动设置的零分了。

内容的提问来源于stack exchange,提问作者stölpsel_neaty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:04:52