我可以通过Google应用脚本填写TextItem吗?

时间:2013-12-02 04:08:42

标签: google-apps-script google-form

我使用Google表单生成器创建了一个表单,然后为其添加了一个脚本。

我可以将Session.getEffectiveUser()。getEmail()运行到受访者的电子邮件地址。但是我不能在文本框中填写它来帮助他们。我可以使用Google App Script做这件事吗?

2 个答案:

答案 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)

来查看表单的限制