【发布时间】:2013-12-02 04:08:41
【问题描述】:
我使用 Google Form Builder 制作了一个表单,然后为它添加了一个脚本。
我可以运行 Session.getEffectiveUser().getEmail() 到受访者的电子邮件地址。但我无法在文本框中填写以帮助他们。我可以用 Google App Script 做这样的事情吗?
【问题讨论】:
标签: google-apps-script google-forms
我使用 Google Form Builder 制作了一个表单,然后为它添加了一个脚本。
我可以运行 Session.getEffectiveUser().getEmail() 到受访者的电子邮件地址。但我无法在文本框中填写以帮助他们。我可以用 Google App Script 做这样的事情吗?
【问题讨论】:
标签: google-apps-script google-forms
我想我找到了解决您问题的方法。但我必须承认这并不明显。
在应用程序脚本文档中,您拥有创建prefilled url 的一切。
但是为此,您需要有一个 ItemResponse 元素,我没有找到任何解释来构建一个。诀窍是当您有一个 item 时,如果您将其作为定义类型“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()
);
}
希望对你有所帮助,
哈罗德
【讨论】:
您无法通过将脚本附加到表单来动态修改 Google 表单。请参阅recent question I asked 以获得更好的理解。
基本上,您只能使用 Google Apps 脚本自动创建表单。到目前为止,您还不能为这些项目设置值(我当然希望他们将来会添加这个......)。
您还可以通过查看文档 (TextItem, for example).
【讨论】: