我想实现什么?
我想使用带有以下选项的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?有可能吗?
结果是有一种方法.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);