Google apps script 我可以用谷歌应用程序脚本填写TextItem吗?

Google apps script 我可以用谷歌应用程序脚本填写TextItem吗?,google-apps-script,google-forms,Google Apps Script,Google Forms,我用Google form Builder制作了一个表单,然后为它添加了一个脚本 我可以对响应者的电子邮件地址运行Session.getEffectiveUser().getEmail()。但我无法在文本框中填写以帮助他们。我可以用谷歌应用程序脚本做这样的事情吗?你不能通过在表单上附加脚本来动态修改谷歌表单。查看a以获得更好的理解 基本上,您只能使用GoogleApps脚本以自动方式创建表单。到目前为止,您还不能为项目设置值(我当然希望他们将来添加此项…) 您还可以通过查看文档来了解表单的限制(

我用Google form Builder制作了一个表单,然后为它添加了一个脚本


我可以对响应者的电子邮件地址运行Session.getEffectiveUser().getEmail()。但我无法在文本框中填写以帮助他们。我可以用谷歌应用程序脚本做这样的事情吗?

你不能通过在表单上附加脚本来动态修改谷歌表单。查看a以获得更好的理解

基本上,您只能使用GoogleApps脚本以自动方式创建表单。到目前为止,您还不能为项目设置值(我当然希望他们将来添加此项…)


您还可以通过查看文档来了解表单的限制(.

我想我找到了解决您问题的方法。但我必须承认,这并不明显。 在应用程序脚本文档中,您可以创建一个应用程序脚本。
但是你需要有一个itemsresponse元素,我没有找到任何解释来构建它。诀窍是当你有一个项目时,如果你把它作为一个定义类型“asTextItem()”,你可以从中得到一个itemsresponse
理解它的最佳方法是查看以下代码:

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()
  );
}
希望这对您有所帮助,

哈罗德

唉,我只是一次又一次地看着裁判,祈祷你说的不是真的:(不幸的是,在我看来,表单服务开发得有点落后。表单是推动我办公室工作流程的因素——存在严重限制这一事实有点不幸。非常不幸的是,我们不能使用GAS自动填充表单的某些元素,如电子邮件地址。这将防止出现这么多问题……也许它们我很快让应用程序脚本更容易访问表单!我们只能希望:P