通过google apps脚本设置Google表单项的预填充值

问题描述 投票:0回答:1

我想实现什么?

我想使用带有以下选项的Google表单跟踪Google文档的审阅状态:“要做,进行中,已完成”。我有谷歌表单项作为“文档的URL,状态”。我创建了一个Google表单模板,该模板将用于为各种用户创建表单。我希望能够创建模板表单的副本,并从Google Apps脚本中设置“ URL”的预定义值,以便用户只需要选择文档的状态即可。

我尝试了什么?

我从此answer中遇到了createResponse()方法,但这需要使用.submit()保存响应,并且答案记录在工作表中。我不想从脚本本身提交表单。这是代码:

function form()
{
  var form  = FormApp.create("Test");
  form.addTextItem().setTitle("URL");
  form.addTextItem().setTitle("Status");

  var items = form.getItems();
  var url = items[0].asTextItem();
  var fr = url.createResponse('my predefined url');

  var FormResponse = form.createResponse();
  FormResponse.withItemResponse(fr);
  FormResponse.submit();
  Logger.log(form.getPublishedUrl());
}

最终查询:

如何从apps脚本中获取URL项的预填答案以及表单的已发布URL?有可能吗?

google-apps-script google-form
1个回答
0
投票

结果是有一种方法.toPrefilledUrl(),该方法返回具有预填充值的表单的已发布URL。这是一个例子:

  var form  = FormApp.openByUrl("url");
  var items = form.getItems();
  var url = items[0].asTextItem();
  var d= "some.url"
  var fr = url.createResponse(d);

  var FormResponse = form.createResponse();
  var urlPub = FormResponse.withItemResponse(fr).toPrefilledUrl();
  Logger.log(urlPub);
© www.soinside.com 2019 - 2024. All rights reserved.