Javascript 如何使用GoogleApps脚本获取Google表单中的URL参数?

Javascript 如何使用GoogleApps脚本获取Google表单中的URL参数?,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,因此,我有一个谷歌表单,我想通过电子邮件链接传入一个参数,如下所示: 我希望能够抓取该id并将其传递到记录结果的电子表格中。现在我要写一个电子表格,但是获取id是有问题的 我已经试过了: function doGet(e) { var id = e.parameter.id; Logger.log(id); } 及 当我查看执行记录时,这两个都会抛出错误,我怀疑这是因为它们是为在部署的webapps中运行而设计的 此外,我还尝试使用普通的旧javascript执行以下操作: var

因此,我有一个谷歌表单,我想通过电子邮件链接传入一个参数,如下所示:

我希望能够抓取该id并将其传递到记录结果的电子表格中。现在我要写一个电子表格,但是获取id是有问题的

我已经试过了:

function doGet(e) {
  var id = e.parameter.id;
  Logger.log(id);
}

当我查看执行记录时,这两个都会抛出错误,我怀疑这是因为它们是为在部署的webapps中运行而设计的

此外,我还尝试使用普通的旧javascript执行以下操作:

var formUrl = window.location.href;
var formId = formUrl.split('?id=')[1];
查看执行记录时也会抛出错误


还有其他想法吗??也许我可以用另一种方式获取信息?

我假设您正在尝试获取表单id

您需要设置将在表单提交时运行的触发器

function onSubmit(){

  var form = FormApp.getActiveForm();
  var formID = form.getId();

}

我认为你不能使用你自己的id,你必须使用谷歌表单“Item”对象的id。您可以通过查看预填充的表单来确定id。在表单编辑屏幕中,单击“响应”、“获取预填URL”。填写要使用的字段,然后单击提交。在新页面上,您将在“共享此链接以预先填写回复”中获得一个URL。检查该url,您可以看到“get”参数,如?entry.265525444=mytext。将mytext替换为您希望位于字段中的任何内容


但是,这将在表单上显示该字段。当我来到这里时,我自己正在搜索如何使这样一个字段成为只读或不可见,但我希望这为您提供了一个新的尝试方向。

但是如果参数位于Google表单URL上,您希望它如何进入您的脚本?如果参数在脚本URL上,则第一次尝试将有效。您能详细解释一下您正在尝试的内容吗?此脚本附在表单上。我希望把这个URL放到自动化的电子邮件中,并传递存储在电子邮件中的信息。在本例中,有与电子邮件相关的跟踪ID(它们是票据),我想将这些信息传递到电子表格中。因此,我知道我可以格式化自动电子邮件,将id传递到用户点击进入表单的URL中。这个问题部分重复,两个问题也在上讨论。不,我试图获取一些URL参数,在示例中是“id”。例如:“www.google.com?id=1234&name=JohnDoe”我正在寻找和你一样的东西。你有没有找到一个解决方案,或者你知道是否有人为此提交了一个功能请求,我可以投票支持吗?@Daniel:没有,我从来没有想过如何通过隐藏字段,对不起。我转到了其他内容。您也可以通过在预览表单页面中检查源代码来查找entry.XXXXXXXXX信息。
function onSubmit(){

  var form = FormApp.getActiveForm();
  var formID = form.getId();

}