我使用Google表单生成器创建了一个表单,然后为其添加了一个脚本。
我可以将Session.getEffectiveUser()。getEmail()运行到受访者的电子邮件地址。但是我不能在文本框中填写它来帮助他们。我可以使用Google App Script做这件事吗?
答案 0 :(得分:5)
我想我找到了解决问题的方法。但我必须承认这一点并不明显。
在应用程序脚本文档中,您已经拥有了创建prefilled url的所有内容
但是,你需要有一个 ItemResponse 元素,我没有找到任何解释来构建一个。诀窍是当你有一个项目时,你可以从中获得 ItemResponse ,如果你把它作为一个定义的类型“ asTextItem() ”。
了解它的最佳方法是观看下面的代码:
function getPreFilledItem(){
var form = FormApp.openById("YOUR_FORM_ID");
var items = form.getItems();
var itemOfInterest;
for(var i in items){
if(items[i].getTitle()=="YOUR_QUESTION_TITLE"){
itemOfInterest=items[i];
}
}
Logger.log(
form.createResponse().
withItemResponse(itemOfInterest.asTextItem().createResponse("PREFILLED_TEXT")).
toPrefilledUrl()
);
}
希望这会对你有所帮助,
哈罗德
答案 1 :(得分:2)
您无法通过将脚本附加到表单来动态修改Google表单。请参阅recent question I asked以便更好地理解。
基本上,您只能使用Google Apps脚本以自动方式创建表单。你还不能为这些项目设置值(我当然希望他们将来添加它......)。
您还可以通过查看文档(TextItem, for example)。
来查看表单的限制