在Google表单中,我想设置反馈,当用户对问题的回答不正确时,反馈会自动显示。我发现一个类是QuizFeedback。但是,当我运行有关QuizFeedback的参考示例时,出现了2个错误。这样的示例代码:
var textItem = form.addTextItem().setTitle('Re-hydrating dried fruit is an example of what?');
var feedback = FormApp.createFeedback()
.setDisplayText(
"Good answer, but not quite right. Please review chapter 4 before next time.")
.addLink("http://wikipedia.com/osmosis");
textItem.setFeedbackForIncorrect(feedback);
第一个错误是TypeError: Function setDisplayText not found in object FreebirdFeedbackBuilder
。
第二个错误是Method setFeedbackForIncorrect (FormApp.QuizFeedbackBuilder) not found.
我在参考Google表单时看到另一个示例,函数setDisplayText
和方法setFeedbackForIncorrect
的使用方式相同。
[Google尚未更新的函数setDisplayText
和方法setFeedbackForIncorrect
的使用似乎有所变化。
请让我知道如何使用QuizFeedback类设置反馈。
看来Google为这些方法提供的文档不正确!
[The QuizFeedback
class]在代码块中列出了错误的方法,这就是为什么您在代码中收到错误的原因。
方法QuizFeedback
返回一个FormApp.createFeedback()
对象-一个没有QuizFeedbackBuilder
方法的对象。这是第一个错误的原因:setDisplayText()
。
第二个错误TypeError: Function setDisplayText not found in object FreebirdFeedbackBuilder
具有相似的起源-Method setFeedbackForIncorrect (FormApp.QuizFeedbackBuilder) not found.
类没有名为TextItem
的方法。
此是但是是setFeedbackForIncorrect()
类的一种方法,一种特定类型的问题。遗憾的是,这是[[0 [0]]的方法,因此您不能为MultipleChoiceItem
的响应设置错误的消息。但是,您可以设置常规反馈,无论问题是否正确,该反馈都会显示。我已经在下面的代码中显示了这一点。但是,在使用MultipleChoiceItem
方法添加对象之前,需要先构建TextItem
对象。修复:
为了解决此问题,需要重写一些代码:
QuizFeedbackBuilder
我希望这对您有用!
Google文档问题:
我已自由地向Google提交报告以进行文档编辑,以消除这些错误并在其文档中反映出正确的方法。
.setGeneralFeedback()
var form = FormApp.getActiveForm();
var textItem = form.addTextItem().setTitle('Re-hydrating dried fruit is an example of what?');
var feedback = FormApp.createFeedback().setText(
"Good answer, but not quite right. Please review chapter 4 before next time.")
.addLink("http://wikipedia.com/osmosis");
// the next line is the general feedback
textItem.setGeneralFeedback(feedback.build());
FormApp
FormApp
.createFeedback()
method of FormApp.createFeedback()
QuizFeedbackBuilder
QuizFeedbackBuilder
QuizFeedBackBuilder
methodsQuizFeedBackBuilder